Eponymous
   



About
My Infrequently Updated Blog. The web-based journal of M. Forde, computer nerd, endurance athlete, and DeLorean owner


contact

Subscribe
Subscribe to a syndicated feed of my weblog, brought to you by the wonders of RSS.

Flavors
There's more than one way to view this weblog; try these flavors on for size.

  • index
  • circa 1993
  • Sections

  • main
  • musings
  • running
  • DeLorean
  • code
  • unix
  • album
  • TBM
  • Archives

  • 2022
  • 2021
  • 2020
  • 2019
  • 2018
  • 2017
  • 2016
  • 2015
  • 2014
  • 2013
  • 2012
  • 2011
  • 2010
  • 2009
  • 2008
  • 2007
  • Disclaimers, Copyrights, Privacy, Etc.

  • ToS
  • Copyrights
  • Links

  • olix0r.net
  • netmeister.org
  • Giraffes
  • Eat. Run. Sleep.

  •        
    31 Aug 2008

    Writing

    "You need strong emotion, whether it's fiery or depressed, an extreme state of mind. I think in any art form it's the case." -- Daniel Ash


    Maybe it's my lack of experience. Maybe it's my lack of talent. I tried to sit down and write music for the song known as Ravage in the new naming scheme, but I failed miserably. When I try to force it, like I did tonight, nothing comes out right. I have ideas, I can hear them in my head, but without that inspiration, without that emotion, nothing I produce sounds right.

    I've been too happy recently and it's destroyed my creativity. I get the urge, I have the inspiration, to write when I feel negative emotions. I need anger; I need depression. It is in dealing with these emotions that I am able to write.

    I have tried several times to force myself to feel this way. This usually buys me a few minutes in which I can write, but it often fails. Because the emotions are artificial, the results are mediocre at best.

    I find this situation to be quite frustrating. I want to move forward with this album, but without that inspiration I am unable to do anything.

    In the meantime, I'm slowly teaching myself to play guitar and, to a much lesser extent, a keyboard-style synthesizer. I've also been going through materials my music teacher friend gave me to learn some basic music theory. Hopefully once I find that needed inspiration, or find a way to work without being angry or depressed, this new knowledge will make things easier.

    [/album] [permanent link]

    09 Aug 2008

    Revision Control
    One could argue that this should be filed under the Unix category, but this post is more about the album than it is about the Concurrent Versions System.

    Friday night I created a CVS repository on this server to manage album related files. After discussing it with rskutins, we agreed on several key points.

    First, with changes being made a little more frequently than before, it would be best to have some way to track what was going on, and to be able to roll back to a previous version if the changes don't quite work out. Second, we wanted to have a way to organize several files for each song, for instance, lyrics, notes, bass tabs, drum tabs, etc. Last, and maybe the most important reason for the reorganization, we wanted to move away from the numbering scheme that was in place. Each song was numbered from 0 to 17. This was fine until we realized 11 was likely to be the first track on the album.

    Now the album is stored in a CVS repository. This will keep a version history of each file, allow us to simultaneously work on parts of the album, and merge our changes.

    Within this repository we now have a tree structure where each song has its own directory. The directory will hold any and all files related to that song. In an effort to move away from the numbering scheme, an arbitrary naming convention was mutually agreed upon. The songs are now known by names such as Soundwave, Ravage, Frenzy, and Rumble.

    The album is starting to come together. I feel motivated to work on it and recently I've found myself inspired to write. Now if only I had time.

    Omlette listened to the Accidental Mix I posted (of the song now known as Soundwave) and gave me some feedback.

    It sounded ominous. I don't know how else to describe it since I'm not familiar w/ either artist. Oh wait. Were you mixing your own stuff?
    Ominous seems like it could be a good thing given the current direction of the album.

    If anyone else takes the time to listen to it, I'd appreciate any comments or suggestions. If you don't have it, my contact information is on this page.

    [/album] [permanent link]

    08 Aug 2008

    Another Demo Update
    Two weeks! Ha! It's been closer to two months.

    A few days ago I had some time so I sat down with the ProTools set up again. After considering some advice from jlight, I decided to record a second track of the bass line. I decided to use my Yamaha for the second track, as I had used my Fender for the original recording back in June. The two instruments have different characteristics in their sounds and the two playing together seems to add a "fullness" to the sound.

    So all I had to do was record 24 seconds of bass and put together a mix. This should take, what, 15 minutes? It took 45 just to record. Once again ProTools repeatedly crashed. When it wasn't crashing, it would report an error and stop recording. Does anyone know if there are updates for ProTools LE 7.1 that will fix this issue? As it stands now, I can't run ProTools for more than a few seconds without disabling multi-core support on my CPU. I have multiple processors. It is a multi-threaded application. It should run better... But I'll save this for that upcoming ProTools rant I keep promising.

    Anyway, after about an hour and fifteen minutes, I got two mixes complete. One of them was accidental and sounds, "interesting." The other is closer to what I had in mind. While I wait for feedback on the actual mix from certain people, everyone is free to enjoy the accidental mix found here.

    If anyone actually listens to it, I'd be happy to accept any comments and criticism.

    [/album] [permanent link]

    23 Jun 2008

    Demo -- Update
    Rskutins recorded his drum part and sent it to me via the wonders of TCP/IP netowrking. On Friday night I finally had enough time (and motivation) to start recording.

    I spent a lot of time fighting with ProTools. It repeatedly crashed. Often, when it didn't crash, it simply stopped recording and reported that an error had occurred. I'm remembering this for the ProTools rant that will be coming in the future.

    After 45 minutes I had recorded about 6 seconds of vocals and the 24 second bass line. The next block of Copious Free Time(TM) I have, I'll begin the rough mix of the three parts. Hopefully ProTools won't crash as often during that phase.

    With any luck, it'll be mixed in the next week or two.

    [/album] [permanent link]

    03 Jun 2008

    Demo
    In the next few weeks we are going to attempt to record and roughly mix a demo of a short track which will serve as an introduction to the album.

    Currently known as 11, it is a very short piece in 4/4 time at 80bpm. It is in the key of B minor and the spoken words are taken from a quote attributed to Nietzsche.

    What upsets me is not that you lied to me, but that from now on I can no longer believe you.
    This short demo will hopefully get me motivated enough to put more time into the album.

    More information will be posted when it becomes available.

    [/album] [permanent link]

    29 May 2008

    A Brief History
    Last Summer, my friend, rskutins, and I decided we were going to write an album. He got out his drum machine, being smaller and easier to store and carry than a full kit, and I got out my bass and we started putting together some pieces that were... not good.

    We had little direction, I was afraid to play things outside of my comfort zone, and we had some problems communicating. This project quickly fell apart, but we never completely gave up the idea.

    In March I found the inspiration I needed. I talked to rskutins and we started working on an album again. This time, fueled by strong emotion, both fiery and depressed, I started by writing lyrics.

    Not all are complete, but there are about 15 sets of lyrics for us to use as a starting point. Rskutins has tweaked the lyrics in some places to make them fit a better rhythm while still maintaining the intent of the words. I am quite pleased by what he has done.

    Based on these lyrics we have begun writing short pieces here and there when we feel inspired. Rskutins has laid down some pretty good beats to start with. I've been attempting to learn some basic music theory and trying to apply those ideas to the layers on top of what rskutins has written already.

    And that's where we are now. Still learning, still writing. Our day jobs have slowed down our progress considerably so it could very well take until the Autumn before we're ready to record and mix the album.

    [/album] [permanent link]


       
    Eponymous
    Eponymous
       



    About
    My Infrequently Updated Blog. The web-based journal of M. Forde, computer nerd, endurance athlete, and DeLorean owner


    contact

    Subscribe
    Subscribe to a syndicated feed of my weblog, brought to you by the wonders of RSS.

    Flavors
    There's more than one way to view this weblog; try these flavors on for size.

  • index
  • circa 1993
  • Sections

  • main
  • musings
  • running
  • DeLorean
  • code
  • unix
  • album
  • TBM
  • Archives

  • 2022
  • 2021
  • 2020
  • 2019
  • 2018
  • 2017
  • 2016
  • 2015
  • 2014
  • 2013
  • 2012
  • 2011
  • 2010
  • 2009
  • 2008
  • 2007
  • Disclaimers, Copyrights, Privacy, Etc.

  • ToS
  • Copyrights
  • Links

  • olix0r.net
  • netmeister.org
  • Giraffes
  • Eat. Run. Sleep.

  •        
    09 Aug 2016

    He's Not Wrong...
    Over at Net Meister there's a nice peice entitled Things They Don't Teach You in School". A lot of what Jan has to say is spot-on observation and good advice.

    It's definitely worth a read.

    [/code] [permanent link]

    28 Apr 2014

    Looking back...
    As I look back at code I wrote a decade ago as an undergrad, I often find lots of little things that can be done better. For instance, in one file I found that reversing the order in which two functions were called would have eliminated a half dozen conditionals from one of the functions and would have resulted in the same expected behavior, but with fewer lines of code and a lower cyclomatic complexity.

    [/code] [permanent link]

    10 Dec 2013

    Thoughts on National Computer Science Education Week
    This week is apparently National Computer Science Education Week. Code.org is organizing the "hour of code" to promote teaching of Computer Science and Programming in schools. They're also organizing petitions to make CS courses count as credits in Mathematics or Science for High School graduation requirements.

    In High School, my CS courses were by far my favorites, Programming in Pascal, AP Comp Sci in Pascal, Programming in C++, and AP Comp Sci in C++ ( the language for the exam switched my junior year). I learned a lot about structured code, elegant, efficient code. I learned enough about Data Structures and Algorithms that I didn't have to study for my college CS classes until Computational Structures (Discrete Math II with Scheme, essentially) in my third semester. I had an amazing Computer Science teacher who also taught me Calculus and the proper order of precedence in life: God, Family, Math. I wouldn't be where I am today without that educational opportunity I had in High School. I want others to have that opportunity too.

    However, this is where I differ with the opinion of the Code.org folks. I do not believe that CS classes should count toward the Math or Science requirements. In this state, CS counts toward the "practical or performing art" requirements, I'm assuming under the "practical" label. I think this is a better place for it at the High School level.

    Computer Science is not a hard Science. It's not Physics. It's not Biology. It's not Chemistry. There's a saying that if the subject has science in its name, it's not really a science. That is true with Computer Science. It's not studying the how and why of atoms, of molecules, of living systems, of anything really. It's not science.

    Computer Science is really applied mathematics. I am very fortunate that the college program I went through was very strong in mathematics: Calc I and II, Linear (Matrix) Algebra, Discrete Math, Discrete Math II in the guise of Computational Structures, Probability and Statistics, Theory of Computation, Algorithmic Analysis... the list goes on. All of these mathematical foundations were then applied to a machine, to make the machine carry out a task in an efficient manner. It's those mathematical foundations that are the true core of Computer Science.

    While mathematics is the core of Computer Science and Computer Science is essentially applied mathematics, I do not believe it should count toward the Math requirements. The CS classes would likely detract from other mathematics courses such as Geometry, Trigonometry, and Calculus. These courses are far too important to an education to be replaced by a Computer Science course. Many, maybe even most, High School Computer Science courses focus more on "programming" than the fundamental mathematical theories. They will pick the language du jour and teach you the syntax and semantics. They'll teach about basic data structures like arrays, and linked lists. The AP exam currently focuses not on implementing lists, trees, stacks, queues, and sorting and searching algorithms, but on arrays and lists using Java library calls. This is not math. This is learning Java syntax.

    [/code] [permanent link]

    20 Aug 2012

    unHide
    After a friend's computer became infected with some malware that hides files in your home directory and tries to extort money from you in order to "recover" your data, I was inspired to write this little program.

    All it does is search for hidden, non-system files and unhides them. It defaults to the user's home directory (My Documents), but other directories can be chosen.

    If anyone wants to try it out, please do. If you do try it, let me know what parts I can do better. I primarily work on embedded systems and Unix daemons professionally; the user only knows my software exists when it isn't working. As such, I have very little experience with GUIs or human-computer interactions. Any feedback would be much appreciated.

    The Windows executable can be found at: http://www.skinnymf.com/~mforde/unHide/. Source code is available upon request.

    [/code] [permanent link]

    01 Mar 2012

    Just a Question
    Given the following code fragment, I was asked to implement foo such that the program would output "America." How would you do it?

            int main()
            {
              char *p = "Hello";
    
              foo(         );
              printf("%s",p);
    
              return 0;
            }
    

    My solution involved allocating new memory from the heap to store the new string, and changing p to point to that buffer. They didn't like that answer. They preferred the method of putting the new string in the data segment as well.

    I personally would always avoid that, whenever possible. "Hello" is stored in a read-only area of memory as is "America" in their preferred solution. Any attempt to alter those strings will trigger a segfault. This is an accident waiting to happen.

    [/code] [permanent link]

    19 Apr 2011

    It's not magic, it's C.
    I love reading comments like

    /* These defined magically in the linker script. */
    I found that in the GNU Standard C Library implementation when GCC told me the the variables to which the comment referred were undefined. I guess that linker script isn't magic after all...

    [/code] [permanent link]

    19 Oct 2009

    C#, XNA, and 8 Queens
    I spent some time this weekend learning some C# and getting working a bit with the XNA framework. I implemented a solution for the 8 Queens problem in C++, then ported that class to C#. After getting that working in Windows, I started moving it to the Xbox.

    It works there with little issue, but, as expected, writing to system.console doesn't produce useful output. My next step is to get some sort of graphical representation of the chessboard displayed with the solution set.

    [/code] [permanent link]

    17 Oct 2009

    XNA
    As of this morning, I am now a member of the XNA Creators Club.

    [/code] [permanent link]

    14 Oct 2009

    Self Documenting Code
    Despite what you think about your code, it is not self documenting. When writing code add comments, describe what a function does, explain why you're using that convoluted pointer arithmetic and bit shifting. I'm sure it makes sense now, but someday you'll have to go back and look at it and figure out what the hell you were doing. Or worse, I'll have to go back and look at it and figure out what the hell you were doing.

    Sometimes it is important to have some sort of separate documentation for the code; maybe some UML or ER diagrams, maybe some English text. Use what ever it takes to explain what you were doing. Do not paste snippets of your code into the text and call it documentation.That is not documentation, that is code.

    [/code] [permanent link]


       
    Eponymous
    Eponymous
       



    About
    My Infrequently Updated Blog. The web-based journal of M. Forde, computer nerd, endurance athlete, and DeLorean owner


    contact

    Subscribe
    Subscribe to a syndicated feed of my weblog, brought to you by the wonders of RSS.

    Flavors
    There's more than one way to view this weblog; try these flavors on for size.

  • index
  • circa 1993
  • Sections

  • main
  • musings
  • running
  • DeLorean
  • code
  • unix
  • album
  • TBM
  • Archives

  • 2022
  • 2021
  • 2020
  • 2019
  • 2018
  • 2017
  • 2016
  • 2015
  • 2014
  • 2013
  • 2012
  • 2011
  • 2010
  • 2009
  • 2008
  • 2007
  • Disclaimers, Copyrights, Privacy, Etc.

  • ToS
  • Copyrights
  • Links

  • olix0r.net
  • netmeister.org
  • Giraffes
  • Eat. Run. Sleep.

  •        
    15 Dec 2023

    1702672835
    ---boundaryRMS123
    Content-ID:<0000>
    Content-Type:text/html
    Content-Disposition:inline
    Content-Transfer-Encoding:base64

    PGh0bWw+PGhlYWQ+PHRpdGxlPlQtTW9iaWxlPC90aXRsZT48L2hlYWQ+PGJvZHkgbWFyZ2lud2lk
    dGg9IjAiIG1hcmdpbmhlaWdodD0iMCIgbGVmdG1hcmdpbj0iMCIgdG9wbWFyZ2luPSIwIiBiZ2Nv
    bG9yPSIjZmZmZmZmIj48dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iNjAwIiBjZWxsc3BhY2luZz0i
    MCIgY2VsbHBhZGRpbmc9IjAiPjx0cj4KCQkJCSAgICAgPHRkIHdpZHRoPSI2MDAiIGNvbHNwYW49
    IjIiPjxpbWcgc3JjPSJjaWQ6ZG90dGVkbGluZTYwMC5naWYiIHdpZHRoPSI2MDAiPjwvdGQ+CgkJ
    CQkgICAgIDwvdHI+PGJyPjx0cj48dGQgd2lkdGg9IjYwMCIgY29sc3Bhbj0iMiI+PGltZyBzcmM9
    ImNpZDp0bW9iaWxlc3BhY2UuZ2lmIiB3aWR0aD0iNjAwIiBoZWlnaHQ9IjIwIj48L3RkPjwvdHI+
    PHRyPjx0cj48dGQgY29sc3Bhbj0iMSIgYWxpZ249ImxlZnQiPk9uZSBsYXN0IHRyeSA8L3RkPjwv
    dHI+IDxUUj4KICAgICAgICAgICAgICAgIDxURCB3aWR0aD0zNTAgY29sU3Bhbj0xPgogICAgICAg
    ICAgICAgICAgPElNRyBzcmM9ImNpZDp0bW9iaWxlc3BhY2UuZ2lmIiB3aWR0aD0iMzUwIiBoZWln
    aHQ9IjMwIj4KICAgICAgICAgICAgICAgIDwvVEQ+CiAgICAgICAgICAgICAgICA8L1RSPgogICAg
    ICAgICAgICAgICAgPFRSPgogICAgICAgICAgICAgICAgPC9UUj4KICAgICAgICAgICAgICAgIDx0
    ZCB3aWR0aD0iMjQwIiBiZ2NvbG9yPSIjZjJmMmYyIj4mbmJzcDs8L3RkPgogICAgICAgICAgICAg
    ICAgPC90cj48dHI+PHRkIHdpZHRoPSI2MDAiIGNvbHNwYW49IjIiPjxpbWcgc3JjPSJjaWQ6Zm9v
    dGVyLmdpZiIgd2lkdGg9IjYwMCIgaGVpZ2h0PSIxMDUiPjwvdGQ+PC90cj48L3RyPjx0cj48dGQg
    d2lkdGg9IjYwMCIgY29sc3Bhbj0iMiI+PGltZyBzcmM9ImNpZDp0bW9iaWxlc3BhY2UuZ2lmIiB3
    aWR0aD0iNjAwIiBoZWlnaHQ9IjQwIj48L3RkPjwvdHI+PC90YWJsZT48L2JvZHk+DQo8L2h0bWw+

    ---boundaryRMS123
    Content-ID:0
    Content-Type:text/plain;Charset="us-ascii"
    Content-Disposition:Attachment;Filename="text_0.txt";Charset="us-ascii"
    Content-Location:text_0.txt

    One last try
    ---boundaryRMS123
    Content-Type: image/gif; name=tmobilespace.gif
    Content-ID:
    Content-Disposition: inline; filename=tmobilespace.gif
    Content-Transfer-Encoding:base64

    R0lGODlhAQABAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8AAAMzMAADMAMwAzMxYW
    FhwcHCIiIikpKVVVVU1NTUJCQjk5Of98gP9QUNYAk8zs/+/Wxufn1q2pkDP/AGYAAJkAAMwAAAAz
    ADMzAGYzAJkzAMwzAP8zAABmADNmAGZmAJlmAMxmAP9mAACZADOZAGaZAJmZAMyZAP+ZAADMADPM
    AGbMAJnMAMzMAP/MAGb/AJn/AMz/AAD/MzMA/2YAM5kAM8wAM/8AMwAz/zMzM2YzM5kzM8wzM/8z
    MwBmMzNmM2ZmM5lmM8xmM/9mMwCZMzOZM2aZM5mZM8yZM/+ZMwDMMzPMM2bMM5nMM8zMM//MMzP/
    M2b/M5n/M8z/M///MwAAZjMAZmYAZpkAZswAZv8AZgAzZjMzZmYzZpkzZswzZv8zZgBmZjNmZmZm
    ZplmZsxmZgCZZjOZZmaZZpmZZsyZZv+ZZgDMZjPMZpnMZszMZv/MZgD/ZjP/Zpn/Zsz/Zv8AzMwA
    /wCZmZkzmZkAmcwAmQAAmTMzmWYAmcwzmf8AmQBmmTNmmWYzmZlmmcxmmf8zmTOZmWaZmZmZmcyZ
    mf+ZmQDMmTPMmWbMZpnMmczMmf/MmQD/mTP/mWbMmZn/mcz/mf//mQAAzDMAmWYAzJkAzMwAzAAz
    mTMzzGYzzJkzzMwzzP8zzABmzDNmzGZmmZlmzMxmzP9mmQCZzDOZzGaZzJmZzMyZzP+ZzADMzDPM
    zGbMzJnMzMzMzP/MzAD/zDP/zGb/mZn/zMz/zP//zDMAzGYA/5kA/wAzzDMz/2Yz/5kz/8wz//8z
    /wBm/zNm/2ZmzJlm/8xm//9mzACZ/zOZ/2aZ/5mZ/8yZ//+Z/wDM/zPM/2bM/5nM/8zM///M/zP/
    /2b/zJn//8z///9mZmb/Zv//ZmZm//9m/2b//6UAIV9fX3d3d4aGhpaWlsvLy7KystfX193d3ePj
    4+rq6vHx8fj4+P/78KCgpICAgP8AAAD/AP//AAAA//8A/wD//////ywAAAAAAQABAAAIBAD/BQQA
    Ow==
    ---boundaryRMS123
    Content-Type: image/gif; name=dottedline600.gif
    Content-ID:
    Content-Disposition: inline; filename=dottedline600.gif
    Content-Transfer-Encoding:base64

    R0lGODlhWAIBAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/
    /////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm
    AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/
    MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm
    ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/
    mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm
    zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/
    /5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ
    AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA
    M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ
    ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A
    mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z
    zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAABYAgEA
    AAhFAFP9+yeQ4MCCCA8qNMgwYcOFDiNCnPiwokSLFC9qzMgRo8eNHzuCHCmyZMiTJFGaTMlypUuV
    MFvGfCmzJs2bM3Pa9BgQADs=
    ---boundaryRMS123
    Content-Type:image/gif;Name="footer.gif"
    Content-ID:
    Content-Disposition:inline; filename=footer.gif
    Content-Transfer-Encoding:base64

    R0lGODlhWAJpANUAAOMhfq+vr9fX1/mUwP7K4PBcoISEheHh4bi4uPX19aOjpZmZmo+Pj8LCw3p6
    e+vr7Pyw0HBwcVpaW8zMzecxhvaGuP/x9//X5//l8O1OmPV4sOs/kGRkZfNqp/uhyP282P///wAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C1hNUCBEYXRhWE1QPD94cGFja2V0
    IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4
    bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAg
    NjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpy
    ZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRl
    c2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94
    YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw
    ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIg
    eG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjAxODAxMTc0MDcyMDY4MTE4OEM2RDU3
    QzcwNzNBMDg5IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUwOTMxNEYwQTZGRDExRTNCNDIz
    RjZGQjBFMURGOEYzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUwOTMxNEVGQTZGRDExRTNC
    NDIzRjZGQjBFMURGOEYzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzUgTWFj
    aW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDI4
    MDExNzQwNzIwNjgxMTg4QzZENTdDNzA3M0EwODkiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6
    MDE4MDExNzQwNzIwNjgxMTg4QzZENTdDNzA3M0EwODkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwv
    cmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4B//79/Pv6+fj39vX08/Lx
    8O/u7ezr6uno5+bl5OPi4eDf3t3c29rZ2NfW1dTT0tHQz87NzMvKycjHxsXEw8LBwL++vby7urm4
    t7a1tLOysbCvrq2sq6qpqKempaSjoqGgn56dnJuamZiXlpWUk5KRkI+OjYyLiomIh4aFhIOCgYB/
    fn18e3p5eHd2dXRzcnFwb25tbGtqaWhnZmVkY2JhYF9eXVxbWllYV1ZVVFNSUVBPTk1MS0pJSEdG
    RURDQkFAPz49PDs6OTg3NjU0MzIxMC8uLSwrKikoJyYlJCMiISAfHh0cGxoZGBcWFRQTEhEQDw4N
    DAsKCQgHBgUEAwIBAAAh+QQAAAAAACwAAAAAWAJpAAAG/0CQcEgsGo/IpHLJbDqf0Kh0Sq1ar9is
    dsvter/gsHhMLpvP6LR6zW673/C4fE6v2+/4vH7P7/v/gIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaX
    mJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q
    0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v8AAwocSLCgwYMI
    EypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rc
    ybOnz/+fQIMKTYiBgNGjSJMSGMoUUAEAUKNKnQpAC4EBWLFeOHI164ClSyBg1VAh7IAPQ7IWgNCU
    5VOoHdBGJXBhAIWoWiC8harhSAepGdguqbABagElF6JaEFLgLoABbVe+FQxirpALjrlAiLrhiGMA
    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
    ---boundaryRMS123--

    [/mobile] [permanent link]