From: owner-sc-users-digest@lists.io.com (sc-users-digest) To: sc-users-digest@lists.io.com Subject: sc-users-digest V1 #315 Reply-To: sc-users Sender: owner-sc-users-digest@lists.io.com Errors-To: owner-sc-users-digest@lists.io.com Precedence: bulk sc-users-digest Monday, July 2 2001 Volume 01 : Number 315 ---------------------------------------------------------------------- Date: Sun, 1 Jul 2001 16:58:29 +0200 From: Julian Rohrhuber <---@---.---> Subject: Re: About copying code (printing strings) > >When code contents certain characters like: \, >it cannot be duplicated properly! >( >var sound1, sound2, numb, code, newarray; > > a = [sound1,sound2]; > numb = a.size; > newarray = Array.fill(numb); > code = "Pbind(\ dur,2,\ freq,1000)"; > > numb.do({arg i; > newarray.put(i,(code)); > }); simpler: newarray = Array.fill(a.size, { code }); > >newarray.postln; >) >the above prints: >[ Pbind( dur,2, freq,1000), Pbind( dur,2, freq,1000) ] > \something means that it is a Symbol. if you print a Symbol, just the name gets printed. Have a look for asCompileString. http://swiki.hfbk.uni-hamburg.de:8080/MusicTechnology/137 might help you, too. why you want to copy the code string and not the Pbind itself? ------------------------------ Date: Sun, 01 Jul 2001 11:28:18 -0500 From: James McCartney <---@---.---> Subject: Re: About copying code (printing strings) on 7/1/01 9:21 AM, fabrice mogini at fabrice.mogini@virgin.net wrote: > When code contents certain characters like: \, > it cannot be duplicated properly! \ is an escape character used to represent nonprintable characters like: carriage return \r , line feed \n , tab \t , form feed \f . The \ character itself must be written as \\ . \ followed by any other character is just the following character. These are the same rules as for C strings. > code = "Pbind(\ dur,2,\ freq,1000)"; > > numb.do({arg i; > newarray.put(i,(code)); > }); > > newarray.postln; > ) > the above prints: > [ Pbind( dur,2, freq,1000), Pbind( dur,2, freq,1000) ] Are you writing a code generator? If so, why? It would be much more efficient to put the pattern object twice into the array. After all Patterns whole reason for existence is to make many streams from one pattern. - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Sun, 01 Jul 2001 17:52:08 +0100 From: "fabrice mogini" <---@---.---> Subject: Re: About copying code (printing strings) Thank you for answering. It is true! it is more logic to copy the Pbind itself but I didn't want to do that because in that Pbind is a message such as .at(0) which needs to be increased for each new Pbind of the new array, so I thought it wouldn't work... If my original is: Pbind(\freq, freqs.at(0)) I want to get: newarray = [ Pbind(\freq, freqs.at(0)), Pbind(\freq, freqs.at(1))]; when a.size = 2; Could I do this? newarray = Array.fill(a.size, {arg i; Pbind(\freq, freqs.at(0)) }); And then call my different Pbinds like this? ( Synth.play({ newarray.at(0) + newarray.at(1) newarray.at(2); }) ) Fabrice end >From: Julian Rohrhuber <---@---.---> >To: sc-users@lists.io.com >Subject: Re: About copying code (printing strings) >Date: Sun, Jul 1, 2001, 3:58 pm > >> >>When code contents certain characters like: \, >>it cannot be duplicated properly! >>( >>var sound1, sound2, numb, code, newarray; >> >> a = [sound1,sound2]; >> numb = a.size; >> newarray = Array.fill(numb); >> code = "Pbind(\ dur,2,\ freq,1000)"; >> >> numb.do({arg i; >> newarray.put(i,(code)); >> }); > > simpler: > newarray = Array.fill(a.size, { code }); > >> >>newarray.postln; >>) >>the above prints: >>[ Pbind( dur,2, freq,1000), Pbind( dur,2, freq,1000) ] >> > > \something means that it is a Symbol. if you print a Symbol, just the > name gets printed. Have a look for asCompileString. > http://swiki.hfbk.uni-hamburg.de:8080/MusicTechnology/137 might help you, too. > > why you want to copy the code string and not the Pbind itself? > ------------------------------ Date: Sun, 1 Jul 2001 19:41:03 +0200 From: Julian Rohrhuber <---@---.---> Subject: Re: About copying code (printing strings) >Thank you for answering. > >It is true! it is more logic to copy the Pbind itself but I didn't want to >do that because in that Pbind is a message such as .at(0) >which needs to be increased for each new Pbind of the new array, >so I thought it wouldn't work... > > >If my original is: > Pbind(\freq, freqs.at(0)) >I want to get: >newarray = [ Pbind(\freq, freqs.at(0)), Pbind(\freq, freqs.at(1))]; >when a.size = 2; > > >Could I do this? >newarray = Array.fill(a.size, {arg i; Pbind(\freq, freqs.at(0)) }); > >And then call my different Pbinds like this? >( >Synth.play({ >newarray.at(0) + newarray.at(1) newarray.at(2); >}) >) > Fabrice >end I guess you mean this: newarray = Array.fill(a.size, {arg i; Pbind(\freq, freqs.at(i)) }); you have to convert your Pbinds into UGens first, then you can simply mix them: ( Synth.play({ newarray = newarray.collect({ arg item; item.asSpawn(2, event.protoEvent) }); //or for sc3: newarray.collect({ arg item; item.ar(2) }) Mix.ar(newarray) }) ) ------------------------------ Date: Sun, 01 Jul 2001 19:05:39 +0100 From: "fabrice mogini" <---@---.---> Subject: Re: About copying code (printing strings) Another related topic: I wrote an array of patterns that I use with a Pswitch (switching from a numericalview on a GUI). durations = [ Pseq([8],1), Pseq([4],1), Pseq([3.5,4.5],1)]; Another Gui (with strings) reminds me of which duration pattern corresponds to the value in the other window (numerical view). So I need to have an list related to durations with double quotes between each item. durationsmemo = ["Pseq([8],1)", "Pseq([4],1)", "Pseq([3,5],1)"]; This works fine but I would like to update this list (not in real-time) every time I decide to write new duration patterns. durationsrmemo = Array.fill(durations.size{arg i;durations.at(i)}); Unfortunately I need then to insert each item (from the durations array) between double quotes. If I write: durationsrmemo = Array.fill(durations.size{arg i;"durations.at(i)"}); of course the string prints: "durations.at(i)" and not what I want. How would you do that? - ---------- >From: James McCartney <---@---.---> >To: >Subject: Re: About copying code (printing strings) >Date: Sun, Jul 1, 2001, 5:28 pm > > on 7/1/01 9:21 AM, fabrice mogini at fabrice.mogini@virgin.net wrote: >> When code contents certain characters like: \, >> it cannot be duplicated properly! > > \ is an escape character used to represent nonprintable characters like: > carriage return \r , line feed \n , tab \t , form feed \f . > The \ character itself must be written as \\ . > \ followed by any other character is just the following character. > These are the same rules as for C strings. > >> code = "Pbind(\ dur,2,\ freq,1000)"; >> >> numb.do({arg i; >> newarray.put(i,(code)); >> }); >> >> newarray.postln; >> ) >> the above prints: >> [ Pbind( dur,2, freq,1000), Pbind( dur,2, freq,1000) ] > > Are you writing a code generator? If so, why? > It would be much more efficient to put the pattern object twice into the > array. After all Patterns whole reason for existence is to make many streams > from one pattern. > > > > --- james mccartney james@audiosynth.com > SuperCollider - a real time synthesis programming language for the PowerMac. > > > ------------------------------ Date: Sun, 01 Jul 2001 13:10:48 -0500 From: James McCartney <---@---.---> Subject: Re: About copying code (printing strings) on 7/1/01 1:05 PM, fabrice mogini at fabrice.mogini@virgin.net wrote: > durationsrmemo = Array.fill(durations.size{arg i;"durations.at(i)"}); > of course the string prints: "durations.at(i)" and not what I want. > > How would you do that? durationsrmemo = durations.collect({ arg duration; duration.asString }); - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Sun, 01 Jul 2001 21:23:34 +0100 From: "fabrice mogini" <---@---.---> Subject: Re: About copying code (printing strings) I see! Thank you, it all makes sense to me now. Fabrice - ---------- >From: James McCartney <---@---.---> >To: >Subject: Re: About copying code (printing strings) >Date: Sun, Jul 1, 2001, 7:10 pm > > on 7/1/01 1:05 PM, fabrice mogini at fabrice.mogini@virgin.net wrote: > >> durationsrmemo = Array.fill(durations.size{arg i;"durations.at(i)"}); >> of course the string prints: "durations.at(i)" and not what I want. >> >> How would you do that? > > durationsrmemo = durations.collect({ arg duration; duration.asString }); > > --- james mccartney james@audiosynth.com > SuperCollider - a real time synthesis programming language for the PowerMac. > > > ------------------------------ Date: Sun, 1 Jul 2001 21:07:17 -0400 (EDT) From: Matthew Rogalsky <---@---.---> Subject: DiskIn problem Hallo all An odd thing happening. I have an array of 24 DiskIns, wrapped in Pauses (controlled by checkboxes). The first 10 or so play just fine. When I get somewhere above 10 (it varies from 11 to 15), I get a repeated "DiskIn dropped a buffer" warning, and the file doesn't play properly -- repeats the first second or so of the file over and over (with the warning appearing each time). I wondered if it had to do with file fragmentation but after optimizing my HD the problem remains. Just to clarify, I am only un-Pausing one DiskIn at a time, so not placing much burden on the system. Also, I have tested that it's not something to do with my soundfiles -- the ones that don't work when in 15th place work just fine in a lower position. And I am quite sure that my Pauses are working -- I can see the CPU usage jump a few points when I turn on a checkbox and go back to normal when turned off. What I have determined is that it seems to relate to the number of different files I am using. If I load the same file 24 times, for instance, I don't get the error. You can download my code: http://www.appleonline.net/mrogalsky/DiskInProblem.sit best, mattr ------------------------------ Date: Sun, 01 Jul 2001 20:14:22 -0500 From: James McCartney <---@---.---> Subject: Re: DiskIn problem on 7/1/01 8:07 PM, Matthew Rogalsky at mrogalsky@mail.wesleyan.edu wrote: > Just to clarify, I am only un-Pausing one DiskIn at a time, so not placing For how long of a period of time are you un-Pausing and re-Pausing? Do you have enough memory to hold all of the disk buffers you are causing to be allocated. Have you tried changing the disk buffer size? - --- james mccartney ------------------------------ Date: Sun, 1 Jul 2001 21:54:49 -0400 (EDT) From: Matthew Rogalsky <---@---.---> Subject: Re: DiskIn problem > > For how long of a period of time are you un-Pausing and re-Pausing? Well the files are 3 minute loops. I might unpause for longer than that. > Do you have enough memory to hold all of the disk buffers you are causing to > be allocated. > > Have you tried changing the disk buffer size? I am giving SC 150MB. By disk buffer size do you mean the I/O buffer setting? It is set to 512 and there aren't any other settings in the pop-up list. Hmm, I just tried using a new installation of SC (uncluttered with my own and other peoples' odds and ends) and I'm not getting the problem... thanks much matt ------------------------------ Date: Sun, 01 Jul 2001 22:36:51 -0500 From: James McCartney <---@---.---> Subject: Re: DiskIn problem on 7/1/01 8:54 PM, Matthew Rogalsky at mrogalsky@mail.wesleyan.edu wrote: >> >> For how long of a period of time are you un-Pausing and re-Pausing? > > Well the files are 3 minute loops. I might unpause for longer than that. OK, I was just wondering if you had very short periods. Using DiskIn for periods of time shorter than the disk buffer size can overload disk bandwidth. > I am giving SC 150MB. By disk buffer size do you mean the I/O buffer > setting? It is set to 512 and there aren't any other settings in the > pop-up list. No I'm talking about the following from the DiskIn.help file. - ---- numFrames - the number of frames in the double buffer if the sound file has not been preloaded. If the sound file has been preloaded, this argument is ignored. The default value is 32768. - ---- - --- james mccartney james@audiosynth.com SuperCollider - a real time synthesis programming language for the PowerMac. ------------------------------ Date: Mon, 02 Jul 2001 18:53:40 +0200 From: Scott Wilson <---@---.---> Subject: Synths within Synths Is there a way of referring to 'child' synths from the enclosing scope? For instance to tell a group of Spawned Synths to release? Scott ------------------------------ Date: Mon, 02 Jul 2001 23:09:34 +0200 From: Scott Wilson <---@---.---> Subject: ArrayedCollection.reverseDo bug The example code; ['a', 'b', 'c'].reverseDo({ arg item, i; [i, item].postln; }); produced the following: [ 2, c ] [ 3, 0 ] [ 4, 6.42776e-300 ] [ 5, 4.78064e-299 ] [ 6, 5.56268e-309 ] [ 7, 1.44383e-316 ] [ 8, [ 2, c ] ] [ 9, 8 ] [ 10, 200 ] [ 11, a Function ] [ 12, 6.42594e-300 ] [ 13, 7.16746e-299 ] (...) [ 228, 7 ] [ 229, [ 222, 6.43838e-300 ] [ 230, 12 ] [ 231, a Frame ] [ 232, a Method ] [ 233, a Frame ] [ 234, a Frame ] [ 235, a Frame ] [ 236, 29513119 ] (etc.) If I copy the method code to another method and rename it it works fine, so I assume there's a bug in the special byte codes. S. ------------------------------ Date: Mon, 02 Jul 2001 23:29:12 -0700 From: ben <---@---.---> Subject: Re: PlayJustLoop.sc hi heiko thanks for the comments on my code - greatly appreciated. ;) your approach does like very nice - and it eliminates the asInt (** wants an int) i'll have to play around a bit when i am feeling more coherent... thanks again! peace ben - -- ben milstein mintyfresh www.soundmangle.com - www.elmconceptions.com > From: heiko goelzer <---@---.---> > Reply-To: sc-users@lists.io.com > Date: Sat, 30 Jun 2001 13:51:02 +0200 > To: sc users , ben > Subject: PlayJustLoop.sc > > dear ben and others, > > i was playing the PlayJustLoop example and found this question in your code. > > rate = (tempo * size) / (2646000 * (2**nBeats.asInt)); > // can this formula be simplified further??? > > for my opinion it should say something like this. > > rate = (tempo/60) * (size/44100) * (1/nBeats) ; > > then a sample of tempo 60 with 4 beats and 4 sec(44100*4 samples) should > play with rate 1. same for a sample with 1 beat and 1 sec. double tempo -> > double rate. double beats (with same size) -> half rate. > if this is what you intended. > > asInt ? > why dont you let us use half beats or fractions (nBeats = 2.5). > much more fun like this i would say. > > thanks for that code man. > > all the best > > heiko > > ------------------------------ Date: Mon, 02 Jul 2001 23:29:12 -0700 From: ben <---@---.---> Subject: Re: CPU (related to scope) hi > Also cpu load to a maximum of 90 % is as far one > can go during live performances. my live patch frequently peaks between 80 and 200 % (yes 200) with no problems whatsoever. ??? doesnt make sense to me but it works quite smoothly... ok i will admit the specs though - tibook 500 w/512 ram (almost 480 going to SC) is ram allocation related to cpu load? peash ben - -- ben milstein mintyfresh www.soundmangle.com - www.elmconceptions.com > From: Arie van Schutterhoef <---@---.---> > Reply-To: sc-users@lists.io.com > Date: Sat, 30 Jun 2001 03:26:54 +0200 > To: sc-users@lists.io.com > Subject: Re: CPU (related to scope) > >> Whenever I run a patch, any patch in SC2 >> or 3, my average CPU is about half of my peak CPU whch is very eratic and >> almost looks like a CPU spike (bouncing from very small numbers to big >> alot). > -This is of course very much dependant on what's inside > your patch: spawning switched on/off; soundfiles triggered/not > triggered; external audio input scanned, etc. etc. > One useful indication can be to look at the amount of > UGens used: 100 on a 400 mhz machine shouldn't be > much of a problem; 400 is asking for trouble! > Also cpu load to a maximum of 90 % is as far one > can go during live performances. > >> My setup is Ibook 300, OS 9.1, SC2 or 3 of course, Soundmanager, 192 megs >> ram... > -The secondary cache of PPC G3 is 256 kb, which can be a > a problem, the bigger the secondary cache like the 1 mb > in a PPC G4 the more the cpu can keep up with > the data flow, thus avoiding 'peaks'. > > > best > Avs > > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . > .................................................................. > > ^ Arie van Schutterhoef | arsche@xs4all.nl > ^_北北北北北北北北北北北盻_""""""""""""""""""""""""""""""""" | > ` |Schreck Ensemble http://www.xs4all.nl/~schreck/ | > ` |# -laboratory for live electro-acoustic music- # | > ` |Tel: 00-31-71-5612287 Fax: 00-31-70-3859268 | > > *========================================================++ > . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . > .................................................................. > > > > ------------------------------ Date: Mon, 02 Jul 2001 23:29:11 -0700 From: ben <---@---.---> Subject: Re: About copying code (printing strings) hi simpler way perhaps: ( newarray = Array.fill(howManyPbinds, {arg i; Pbind(\freq, freqs.at(i)) }); Synth.play({ newarray = Ppar(newarray).asSpawn )} ); cheers! ben (in london and loving it ;) - -- ben milstein mintyfresh www.soundmangle.com - www.elmconceptions.com > From: Julian Rohrhuber <---@---.---> > Reply-To: sc-users@lists.io.com > Date: Sun, 1 Jul 2001 19:41:03 +0200 > To: sc-users@lists.io.com > Subject: Re: About copying code (printing strings) > >> Thank you for answering. >> >> It is true! it is more logic to copy the Pbind itself but I didn't want to >> do that because in that Pbind is a message such as .at(0) >> which needs to be increased for each new Pbind of the new array, >> so I thought it wouldn't work... >> >> >> If my original is: >> Pbind(\freq, freqs.at(0)) >> I want to get: >> newarray = [ Pbind(\freq, freqs.at(0)), Pbind(\freq, freqs.at(1))]; >> when a.size = 2; >> >> >> Could I do this? >> newarray = Array.fill(a.size, {arg i; Pbind(\freq, freqs.at(0)) }); >> >> And then call my different Pbinds like this? >> ( >> Synth.play({ >> newarray.at(0) + newarray.at(1) newarray.at(2); >> }) >> ) >> Fabrice >> end > > > I guess you mean this: > newarray = Array.fill(a.size, {arg i; Pbind(\freq, freqs.at(i)) }); > > you have to convert your Pbinds into UGens first, > then you can simply mix them: > ( > Synth.play({ > newarray = newarray.collect({ arg item; item.asSpawn(2, > event.protoEvent) }); > //or for sc3: newarray.collect({ arg item; item.ar(2) }) > Mix.ar(newarray) > > > }) > ) > ------------------------------ Date: Mon, 02 Jul 2001 15:36:54 -0700 From: "tomonori yamasaki" <---@---.---> Subject: no summer class? > THIS MESSAGE IS IN MIME FORMAT. Since your mail reader does not understand this format, some or all of this message may not be legible. - --MS_Mac_OE_3076933014_796219_MIME_Part Content-type: text/plain; charset="US-ASCII" Content-transfer-encoding: 7bit So there's no CNMAT class this year, I guess. I'm visiting NY (mac expo!) but are there any microsound type event? "sequencerProto" Just for fun. Without synth, the GUI runs on 2% cpu. cool. - --MS_Mac_OE_3076933014_796219_MIME_Part Content-type: multipart/appledouble; boundary="MS_Mac_OE_776609_3076933014_MIME_Part" - --MS_Mac_OE_776609_3076933014_MIME_Part Content-type: application/applefile; name="sequencerProto" Content-transfer-encoding: base64 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 AAsACQAEAAAACQAAAAAAAAAAB9oACwAJAAQAAAAJAAAAAMAAAAAH3gALAAkABAAAAAkAAAAA AAAAAAf2AAsACQAEAAAACWAAYABgAAAACAIACwAJAAQAAAAJAAAAAAAAAAAIEgALAAkABAAA AAkAAHAAAAAAAAgaAAsACQAEAAAACQAAAAAAAAAACB0ACwAJAAQAAAAJAAAAAMAAAAAIJwAL AAkABAAAAAkAAAAAAAAAAAgxAAsACQAEAAAACQAAAADAAAAACDUACwAJAAQAAAAJAAAAAAAA AAAITgALAAkABAAAAAlgAGAAYAAAAAhaAAsACQAEAAAACQAAAAAAAAAACGgACwAJAAQAAAAJ AABwAAAAAAAIcAALAAkABAAAAAkAAAAAAAAAAAhzAAsACQAEAAAACQAAAADAAAAACH0ACwAJ AAQAAAAJAAAAAAAAAAAIhwALAAkABAAAAAkAAAAAwAAAAAiLAAsACQAEAAAACQAAAAAAAAAA CKQACwAJAAQAAAAJYABgAGAAAAAIsAALAAkABAAAAAkAAAAAAAAAAAjIAAsACQAEAAAACQAA cAAAAAAACNAACwAJAAQAAAAJAAAAAAAAAAAI0wALAAkABAAAAAkAAAAAwAAAAAjdAAsACQAE AAAACQAAAAAAAAAACOcACwAJAAQAAAAJAAAAAMAAAAAI6wALAAkABAAAAAkAAAAAAAAAAAkE AAsACQAEAAAACWAAYABgAAAACREACwAJAAQAAAAJAAAAAAAAAAAJFAALAAkABAAAAAkAAAAA wAAAAAkeAAsACQAEAAAACQAAAAAAAAAACSgACwAJAAQAAAAJAAAAAMAAAAAJLAALAAkABAAA AAkAAAAAAAAAAAlFAAsACQAEAAAACWAAYABgAAAACVEACwAJAAQAAAAJAAAAAAAAAAAJVAAL AAkABAAAAAkAAAAAwAAAAAleAAsACQAEAAAACQAAAAAAAAAACWgACwAJAAQAAAAJAAAAAMAA AAAJbAALAAkABAAAAAkAAAAAAAAAAAmFAAsACQAEAAAACWAAYABgAAAACYsACwAJAAQAAAAJ AAAAAAAAAAAJjgALAAkABAAAAAkAAAAAwAAAAAmYAAsACQAEAAAACQAAAAAAAAAACaIACwAJ AAQAAAAJAAAAAMAAAAAJpgALAAkABAAAAAkAAAAAAAAAAAnAAAsACQAEAAAACWAAYABgAAAA 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 AAAAAMAAAAAUBAALAAkABAAAAAkAAAAAAAAAABQeAAsACQAEAAAACWAAYABgAAAAFCYACwAJ AAQAAAAJAAAAAAAAAAAUPwALAAkABAAAAAkAAAAAwAAAABREAAsACQAEAAAACQAAAAAAAAAA FEwACwAJAAQAAAAJAAAAAMAAAAAUUQALAAkABAAAAAkAAAAAAAAAABRyAAsACQAEAAAACQAA AADAAAAAFHsACwAJAAQAAAAJAAAAAAAAAAAUmAALAAkABAAAAAlgAGAAYAAAABSeAAsACQAE AAAACQAAAAAAAAAAFLcACwAJAAQAAAAJAAAAAMAAAAAUvAALAAkABAAAAAkAAAAAAAAAABTX AAsACQAEAAAACWAAYABgAAAAFN4ACwAJAAQAAAAJAAAAAAAAAAAU+QALAAkABAAAAAkAAAAA wAAAABT+AAsACQAEAAAACQAAAAAAAAAAFQYACwAJAAQAAAAJAAAAAMAAAAAVCwALAAkABAAA AAkAAAAAAAAAABUhAAsACQAEAAAACWAAYABgAAAAFSsACwAJAAQAAAAJAAAAAAAAAAAVNwAL AAkABAAAAAlgAGAAYAAAABU+AAsACQAEAAAACQAAAAAAAAAAFVgACwAJAAQAAAAJYABgAGAA AAAVYAALAAkABAAAAAkAAAAAAAAAABV5AAsACQAEAAAACQAAAADAAAAAFX4ACwAJAAQAAAAJ AAAAAAAAAAAVmgALAAkABAAAAAlgAGAAYAAAABWhAAsACQAEAAAACQAAAAAAAAAAFbwACwAJ AAQAAAAJAAAAAMAAAAAVwQALAAkABAAAAAkAAAAAAAAAABXJAAsACQAEAAAACQAAAADAAAAA Fc4ACwAJAAQAAAAJAAAAAAAAAAAV/gALAAkABAAAAAkAAAAAwAAAABYBAAsACQAEAAAACQAA AAAAAAAAFjkACwAJAAQAAAAJAAAAAMAAAAAWPAALAAkABAAAAAkAAAAAAAAAABZxAAsACQAE AAAACQAAAADAAAAAFnQACwAJAAQAAAAJAAAAAAAAAAAWfwALAAkABAAAAAkAAAAAwAAAABaC AAsACQAEAAAACQAAAAAAAAAAFt8ACwAJAAQAAAAJAAAAAMAAAAAW4gALAAkABAAAAAkAAAAA AAAAABgwAAsACQAEAAAACQAAAADAAAAAGDUACwAJAAQAAAAJAAAAAAAAAAAYUQALAAkABAAA AAkAAAAAwAAAABhWAAsACQAEAAAACQAAAAAAAAAAGIQACwAJAAQAAAAJAAAAAMAAAAAYiQAL AAkABAAAAAkAAAAAAAAAABioAAsACQAEAAAACQAAAADAAAAAGK0ACwAJAAQAAAAJAAAAAAAA AAAYvQALAAkABAAAAAkAAAAAwAAAABjAAAsACQAEAAAACQAAAAAAAAAAGM8ACwAJAAQAAAAJ AAAAAMAAAAAY0gALAAkABAAAAAkAAAAAAAAAABkqAAsACQAEAAAACQAAAADAAAAAGTAACwAJ AAQAAAAJAAAAAAAAAAAZUgALAAkABAAAAAnAAAAAAAAAABlgAAsACQAEAAAACQAAAAAAAAAA GXEACwAJAAQAAAAJAAAAAMAAAAAZdAALAAkABAAAAAkAAAAAAAAAABmAAAsACQAEAAAACQAA AADAAAAAGYMACwAJAAQAAAAJAAAAAAAAAAAZvQALAAkABAAAAAkAAAAAwAAAABnDAAsACQAE AAAACQAAAAAAAAAAGfkACwAJAAQAAAAJAAAAAMAAAAAZ/AALAAkABAAAAAkAAAAAAAAAABpk AAsACQAEAAAACcAAAAAAAAAAGtcACwAJAAQAAAAJAAAAAAAAAAAa/QALAAkABAAAAAnAAAAA AAAAABsKAAsACQAEAAAACQAAAAAAAAAAGxMACwAJAAQAAAAJAAAAAMAAAAAbGQALAAkABAAA AAkAAAAAAAAAABtaAAsACQAEAAAACQAAAADAAAAAG18ACwAJAAQAAAAJAAAAAAAAAAAboQAL AAkABAAAAAkAAAAAwAAAABumAAsACQAEAAAACQAAAAAAAAAAG+gACwAJA+gAAAAJAAAAAMAA AAAb8AALAAkABAAAAAkAAAAAAAAAABwMAAsACQAEAAAACQAAAADAAAAAHBIACwAJAAQAAAAJ AAAAAAAAAAAcUwALAAkABAAAAAnAAAAAAAAAABxgAAsACQAEAAAACQAAAAAAAAAAHGkACwAJ AAQAAAAJAAAAAMAAAAAcbwALAAkABAAAAAkAAAAAAAAAABzKAAsACQAEAAAACQAAAADAAAAA HM0ACwAJAAQAAAAJAAAAAAAAAAAdJAALAAkABAAAAAkAAAAAwAAAAB0pAAsACQAEAAAACQAA AAAAAAAAHYUACwAJAAQAAAAJAAAAAMAAAAAdjwALAAkABAAAAAkAAAAAAAAAAB2lAAsACQAE AAAACQAAAADAAAAAHasACwAJAAQAAAAJAAAAAAAAAAAd4AALAAkABAAAAAnAAAAAAAAAAB3s AAsACQAEAAAACQAAAAAAAAAAHe0ACwAJAAQAAAAJwAAAAAAAAAAeAAALAAkABAAAAAkAAAAA AAAAAB4BAAsACQAEAAAACcAAAAAAAAAAHhYACwAJAAQAAAAJAAAAAAAAAAAeFwALAAkABAAA AAkAAAAAwAAAAB4bAAsACQAEAAAACQAAAAAAAAAAHyQACwAJAAQAAAAJAAAAAMAAAAAfKgAL AAkABAAAAAkAAAAAAAAAAB82AAsACQAEAAAACQAAAADAAAAAHz0ACwAJAAQAAAAJAAAAAAAA AAAfSAALAAkABAAAAAnAAAAAAAAAAB9tAAsACQAEAAAACQAAAAAAAAAAH3UACwAJAAQAAAAJ AAAAAMAAAAAfeAALAAkABAAAAAkAAAAAAAAAAB+SAAsACQAEAAAACQAAAADAAAAAH5cACwAJ AAQAAAAJAAAAAAAAAAAfrwALAAkABAAAAAkAAAAAwAAAAB+1AAsACQAEAAAACQAAAAAAAAAA IN4ACwAJAAQAAAAJAAAAAMAAAAAg4QALAAkABAAAAAkAAAAAAAAAACDjAAsACQAEAAAACQAA AADAAAAAIO8ACwAJAAQAAAAJAAAAAAAAAAAhGAALAAkABAAAAAkAAAAAwAAAACEeAAsACQAE AAAACQAAAAAAAAAAIXoACwAJAAQAAAAJwAAAAAAAAAAhggALAAkABAAAAAkAAAAAAAAAACGD AAsACQAEAAAACQAAAADAAAAAIYgACwAJAAQAAAAJAAAAAAAAAAAhsQALAAkABAAAAAnAAAAA AAAAACHkAAsACQAEAAAACQAAAAAAAAAAAAAAAAEAAAAmEgAAJRIAAABGDDC4SAICAAAAHABG AAFzdHlsAAAAElNPVVAAAAAeAID//wAAAAAAAAAAAID//wAAJQ4AAAAA - --MS_Mac_OE_776609_3076933014_MIME_Part Content-type: text/plain; name="sequencerProto"; x-mac-creator="53436A6D"; x-mac-type="54455854" Content-disposition: attachment Content-transfer-encoding: base64 KA0vLyJzZXF1ZW5jZXJQcm90byIgYnkgdG9tb25vcmkgeWFtYXNha2kNLy90aGUgc3ludGgg c3Vja3MuIGNoYW5nZSBpdCB3aXRoIHdoYXRldmVyIHlvdSBsaWtlLiBsaWtlIHNhbXBsZXIu IHllYWguIA0vL3RpcHM6IFVzZSAubWlkaWNwcyBmb3IgZnJlcSBjb250cm9sIG9mIGV2ZXJ5 dGhpbmcsIHRvIGdldCB0b25hbCByZXN1bHRzLg0vLyAgICAgIE1ha2UgcmFuZG9tIHRpbWUg ZGlmZnVzaW9uICgwLjIwMDAucmFuZCwgZXRjKSBmb3IgVFNwYXduLCB0byBnZXQgbm9uLXBl cmZlY3QgdGVtcG8NLy9ub3RlOiAiVHJpZ2dlciIgbW9kZSBtb2R1bGF0aW9uIGlzIG5vdCBp bXBsZW1lbnRlZC4gaWYgeW91IGxpa2UgdGhpcyB0aGluZywgYWRkIEFEU1IgY29udHJvbA0v LyAgICAgIGZvciBlYWNoIHZvaWNlLCBhcyBBcnJheShlbnYwLCBlbnYxLi4uKSBhbmQgYWNj ZXNzIHcuYXQoaSkuLi4gZ29vZCBleGNlcnNpemUuIA0NLy9kaXN0cmlidXRlZCB1bmRlciB0 aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiANLy90b21vbm9y aUBtaW5kZnJvZy5uZXQgZm9yIG1vcmUgaW5mby4NdmFyIGJlYXQsIHBsYXlGdW5jLCBzdGFy dEJ1dHRvbiwgcmFuZG9taXplQnV0dG9uLCBpbmRpYzAsIGluZGljMSwgYnBtLCBvc2NFZGl0 LCBzdGFydFZhbHVlOw12YXIgb3NjMCwgY291bnRlcjsNdmFyIG9zY1BhcmFtMCwgb3NjUGFy YW0xOw12YXIgbW9kMCwgZmluYWxPdXQ7DXZhciBvdXQwLCBvdXRzLCBkdW1teTsNdmFyIG1v ZHksIG9zY3ksIGZyZXF5Ow12YXIgc2VxLCBzZXEwOw12YXIgc3ludGgwLCBzeW50aDEsIHN5 bnRoMiwgc3ludGgzOw12YXIgdywgZWRpdG9yLCByYW5kb21pemVzLCBvc2NNZXNzLCByZWNC dXR0b24sIHcxOw13ID0gR1VJV2luZG93Lm5ldygic2VxdWVuY2VyIiwgUmVjdC5uZXdCeSgw LCA2MCwgNjAwLCAyMDApKTsNMTYuZG8oe2FyZyBpOw0JQnV0dG9uVmlldy5uZXcoIHcsIFJl Y3QubmV3QnkoMjUqaSsxOCwgNDgsIDEwLCAxMCksICIiLCAwLCAwLCAxLCAwLCAnbGluZWFy JykNCQkuYmFja0NvbG9yXyhDb2xvci5ncmV5KTsNfSk7DTQuZG8oe2FyZyBqOw0JMTYuZG8o e2FyZyBpOw0JCUNoZWNrQm94Vmlldy5uZXcoIHcsIFJlY3QubmV3QnkoMjUqaSsxNSwgaioz MCs2OCwgMjEsIDE5KSwgIiIsIFsxLDAsMCwwLDBdLmNob29zZSwgMCwgMSwgMCwgJ2xpbmVh cicpDQl9KTsNfSk7DUJ1dHRvblZpZXcubmV3KCB3LCBSZWN0Lm5ld0J5KDQ0LCAxNCwgNTIs IDIwKSwgIlN0YXJ0IiwgMCwgMCwgMSwgMCwgJ2xpbmVhcicpDQkuYmFja0NvbG9yXyhDb2xv ci5ibHVlKTsNQnV0dG9uVmlldy5uZXcoIHcsIFJlY3QubmV3QnkoMzAwLCAxMywgMTI4LCAy MCksICJSQU5ET01JWkUhIiwgMCwgMCwgMSwgMCwgJ2xpbmVhcicpDQkuYmFja0NvbG9yXyhD b2xvci53aGl0ZSk7DU51bWVyaWNhbFZpZXcubmV3KCB3LCBSZWN0Lm5ld0J5KDE3NywgMTMs IDQ0LCAyMCksICJOdW1lcmljYWxWaWV3IiwgMTIwLDI0LCAyNDAsIDAsICdsaW5lYXInKTsJ DVNjb3BlVmlldy5uZXcoIHcsIFJlY3QubmV3QnkoNDM2LCA1NywgMTI4LCAxMDApLCA0NDEw LCAtMSwgMSk7CQ1CdXR0b25WaWV3Lm5ldyggdywgUmVjdC5uZXdCeSgxMTIsIDE0LCA1Miwg MjApLCAiUmVjb3JkIiwgMCwgMCwgMSwgMCwgJ2xpbmVhcicpDQkuYmFja0NvbG9yXyhDb2xv ci5ibHVlKTsNU3RyaW5nVmlldy5uZXcoIHcsIFJlY3QubmV3QnkoMjI2LCAxNCwgNjEsIDIw KSwgIkJQTSIpOw1TdHJpbmdWaWV3Lm5ldyggdywgUmVjdC5uZXdCeSgzNDMsIDE3NCwgMjM2 LCAyNCksICJzZXF1ZW5jZXJQcm90byBieSB0b21vbm9yaSB5YW1hc2FraSIpOw0NdzEgPSBH VUlXaW5kb3cubmV3KCJPdXRwdXRDb250cm9sIiwgUmVjdC5uZXdCeSg2MDksIDYwLCAxODIs IDIwMykpOw1TbGlkZXJWaWV3Lm5ldyggdzEsIFJlY3QubmV3QnkoMTEsIDU5LCA4OCwgMTEp LCAiU2xpZGVyVmlldyIsIDAuMiwgMC4wMSwgMC4zLCAwLCAnbGluZWFyJyk7DVNsaWRlclZp ZXcubmV3KCB3MSwgUmVjdC5uZXdCeSgxMSwgODAsIDg4LCAxMSksICJTbGlkZXJWaWV3Iiwg MC40LCAwLCAyLCAwLCAnbGluZWFyJyk7DVNsaWRlclZpZXcubmV3KCB3MSwgUmVjdC5uZXdC eSgxMSwgMTAxLCA4OCwgMTEpLCAiU2xpZGVyVmlldyIsIDEsIDAsIDYsIDAsICdsaW5lYXIn KTsNU2xpZGVyVmlldy5uZXcoIHcxLCBSZWN0Lm5ld0J5KDExLCAxMjIsIDg4LCAxMSksICJT bGlkZXJWaWV3IiwgMC4wMDEsIDAuMDAxLCAwLjIsIDAsICdsaW5lYXInKTsNU3RyaW5nVmll dy5uZXcoIHcxLCBSZWN0Lm5ld0J5KDEwNCwgNTcsIDc0LCAxOCksICJEZWxheUxlbmd0aCIp Ow1TdHJpbmdWaWV3Lm5ldyggdzEsIFJlY3QubmV3QnkoMTA0LCA3OCwgNzQsIDE4KSwgIkRl bGF5RGVwdGgiKTsNU3RyaW5nVmlldy5uZXcoIHcxLCBSZWN0Lm5ld0J5KDEwNCwgOTksIDc0 LCAxOCksICJHYWluIik7DVN0cmluZ1ZpZXcubmV3KCB3MSwgUmVjdC5uZXdCeSgxMDQsIDEy MCwgNzQsIDE4KSwgIkJpdERlcHRoPyIpOw1TdHJpbmdWaWV3Lm5ldyggdzEsIFJlY3QubmV3 QnkoMTksIDIwLCAxMjgsIDIwKSwgIk91dHB1dENvbnRyb2wiKTsNDWVkaXRvciA9IEFycmF5 Lm5ldyg0KTsNb3NjRWRpdCA9IHthcmcgaTsNCWVkaXRvci5hZGQoR1VJV2luZG93Lm5ldygi T3NjIitpLCBSZWN0Lm5ld0J5KGkqMjAwLCAzMDAsIDIwMCwgMjcwKSkpOw0JU2xpZGVyVmll dy5uZXcoIGVkaXRvci5hdChpKSwgUmVjdC5uZXdCeSg4LCA5LCAxMDAsIDEyKSwgIlNsaWRl clZpZXciLCA4MDAucmFuZCwgMSwgNTAwMCwgMCwgJ2V4cG9uZW50aWFsJyk7DQlTbGlkZXJW aWV3Lm5ldyggZWRpdG9yLmF0KGkpLCBSZWN0Lm5ld0J5KDgsIDMzLCAxMDAsIDEyKSwgIlNs aWRlclZpZXciLCAxMDAwLnJhbmQsIDEsIDUwMDAsIDAsICdleHBvbmVudGlhbCcpOw0JU2xp ZGVyVmlldy5uZXcoIGVkaXRvci5hdChpKSwgUmVjdC5uZXdCeSg4LCA1NywgMTAwLCAxMiks ICJTbGlkZXJWaWV3IiwgMTAwMC5yYW5kLCAxLCAxMDAwLCAwLCAnbGluZWFyJyk7DQlTbGlk ZXJWaWV3Lm5ldyggZWRpdG9yLmF0KGkpLCBSZWN0Lm5ld0J5KDgsIDgxLCAxMDAsIDEyKSwg IlNsaWRlclZpZXciLCAwLjUucmFuZCswLjAxLCAwLjAxLCAwLjYsIDAsICdsaW5lYXInKTsN CVJhZGlvQnV0dG9uVmlldy5uZXcoIGVkaXRvci5hdChpKSwgUmVjdC5uZXdCeSgxMSwgMTE1 LCA4MSwgMTkpLCAiU2luZSIsIDEsIDAsIDEsIDAsICdsaW5lYXInKTsNCVJhZGlvQnV0dG9u Vmlldy5uZXcoIGVkaXRvci5hdChpKSwgUmVjdC5uZXdCeSgxMSwgMTMzLCA4MSwgMTkpLCAi U2F3IiwgMCwgMCwgMSwgMCwgJ2xpbmVhcicpOw0JUmFkaW9CdXR0b25WaWV3Lm5ldyggZWRp dG9yLmF0KGkpLCBSZWN0Lm5ld0J5KDExLCAxNTIsIDgxLCAxOSksICJTcXVhcmUiLCAwLCAw LCAxLCAwLCAnbGluZWFyJyk7DQlSYWRpb0J1dHRvblZpZXcubmV3KCBlZGl0b3IuYXQoaSks IFJlY3QubmV3QnkoMTEsIDE3MSwgODEsIDE5KSwgIk5vaXplIiwgMCwgMCwgMSwgMCwgJ2xp bmVhcicpOw0JUmFkaW9CdXR0b25WaWV3Lm5ldyggZWRpdG9yLmF0KGkpLCBSZWN0Lm5ld0J5 KDEwNiwgMTE3LCAxMjgsIDIwKSwgIlNpbmUiLCAxLCAwLCAxLCAwLCAnbGluZWFyJykNCQku Z3JvdXBfKDEpOw0JUmFkaW9CdXR0b25WaWV3Lm5ldyggZWRpdG9yLmF0KGkpLCBSZWN0Lm5l d0J5KDEwNiwgMTM1LCAxMjgsIDIwKSwgIlNhdyIsIDAsIDAsIDEsIDAsICdsaW5lYXInKQ0J CS5ncm91cF8oMSk7DQlSYWRpb0J1dHRvblZpZXcubmV3KCBlZGl0b3IuYXQoaSksIFJlY3Qu bmV3QnkoMTA2LCAxNTQsIDEyOCwgMjApLCAiU3F1YXJlIiwgMCwgMCwgMSwgMCwgJ2xpbmVh cicpDQkJLmdyb3VwXygxKTsNCVJhZGlvQnV0dG9uVmlldy5uZXcoIGVkaXRvci5hdChpKSwg UmVjdC5uZXdCeSgxMDYsIDE3MywgMTI4LCAyMCksICJOb2l6ZSIsIDAsIDAsIDEsIDAsICds aW5lYXInKQ0JCS5ncm91cF8oMSk7DQlSYWRpb0J1dHRvblZpZXcubmV3KCBlZGl0b3IuYXQo aSksIFJlY3QubmV3QnkoMTA2LCAyMTEsIDEyOCwgMjApLCAiVHJpZ2dlciIsIDAsIDAsIDEs IDAsICdsaW5lYXInKQ0JCS5ncm91cF8oMSk7DQlCdXR0b25WaWV3Lm5ldyggZWRpdG9yLmF0 KGkpLCBSZWN0Lm5ld0J5KDMyLCAyMzcsIDEyOCwgMjApLCAiUkFORE9NSVpFISIsIDAsIDAs IDEsIDAsICdsaW5lYXInKQ0JLmJhY2tDb2xvcl8oQ29sb3Iud2hpdGUpOw0JU3RyaW5nVmll dy5uZXcoIGVkaXRvci5hdChpKSwgUmVjdC5uZXdCeSgxMjAsIDYsIDEyOCwgMjApLCAiRnJl cXVlbmN5Iik7DQlTdHJpbmdWaWV3Lm5ldyggZWRpdG9yLmF0KGkpLCBSZWN0Lm5ld0J5KDEy MCwgMjgsIDEyOCwgMjApLCAiTW9kIFNwZWVkIik7DQlTdHJpbmdWaWV3Lm5ldyggZWRpdG9y LmF0KGkpLCBSZWN0Lm5ld0J5KDEyMCwgNTIsIDEyOCwgMjApLCAiTW9kIERlcHRoIik7DQlT dHJpbmdWaWV3Lm5ldyggZWRpdG9yLmF0KGkpLCBSZWN0Lm5ld0J5KDEzLCA5NiwgMTI4LCAy MCksICJPc2NpbGF0b3IiKTsNCVN0cmluZ1ZpZXcubmV3KCBlZGl0b3IuYXQoaSksIFJlY3Qu bmV3QnkoMTEwLCA5NiwgMTI4LCAyMCksICJNb2R1bGF0b3IiKTsNCVN0cmluZ1ZpZXcubmV3 KCBlZGl0b3IuYXQoaSksIFJlY3QubmV3QnkoMTIwLCA3NiwgMTI4LCAyMCksICJEZWNheSIp Ow19Ow1vc2NFZGl0LnZhbHVlKDApOw1vc2NFZGl0LnZhbHVlKDEpOw1vc2NFZGl0LnZhbHVl KDIpOw1vc2NFZGl0LnZhbHVlKDMpOw1zdGFydEJ1dHRvbiA9IHcuYXQoNCoxNisxNik7DXJh bmRvbWl6ZUJ1dHRvbiA9IHcuYXQoNCoxNisxNisxKTsNcmVjQnV0dG9uID0gdy5hdCg0KjE2 KzIwKTsNY291bnRlciA9IHcuYXQoNCoxNisxOCk7DXJhbmRvbWl6ZXMgPSBBcnJheS5uZXco NCk7DXN0YXJ0QnV0dG9uLmFjdGlvbiA9IHtpZih0aGlzU3ludGguaXNOaWwsIHsNCXN0YXJ0 QnV0dG9uLmxhYmVsID0gIlN0b3AiOw0Jc3RhcnRCdXR0b24uYmFja0NvbG9yID0gQ29sb3Iu cmVkOw0JcmVjQnV0dG9uLmxhYmVsID0gIlJlY29yZCI7DQlyZWNCdXR0b24uYmFja0NvbG9y ID0gQ29sb3IuYmx1ZTsNCVN5bnRoLnBsYXkocGxheUZ1bmMpDQl9LHsNCXN0YXJ0QnV0dG9u LmxhYmVsID0gIlN0YXJ0IjsNCXN0YXJ0QnV0dG9uLmJhY2tDb2xvciA9IENvbG9yLmJsdWU7 DQlyZWNCdXR0b24ubGFiZWwgPSAiUmVjb3JkIjsNCXJlY0J1dHRvbi5iYWNrQ29sb3IgPSBD b2xvci5ibHVlOw0JU3ludGguc3RvcH0pfTsNcmVjQnV0dG9uLmFjdGlvbiA9IHtpZih0aGlz U3ludGguaXNOaWwsIHsNCXJlY0J1dHRvbi5sYWJlbCA9ICJTdG9wIjsNCXJlY0J1dHRvbi5i YWNrQ29sb3IgPSBDb2xvci5yZWQ7DQlzdGFydEJ1dHRvbi5sYWJlbCA9ICJTdGFydCI7DQlz dGFydEJ1dHRvbi5iYWNrQ29sb3IgPSBDb2xvci5ibHVlOw0JU3ludGgucmVjb3JkKHBsYXlG dW5jLCAzMCwgInJlY29yZGVkIisxMDAwMC5yYW5kKyIuYWlmZiIpDQl9LHsNCXJlY0J1dHRv bi5sYWJlbCA9ICJSZWNvcmQiOw0JcmVjQnV0dG9uLmJhY2tDb2xvciA9IENvbG9yLmJsdWU7 DQlzdGFydEJ1dHRvbi5sYWJlbCA9ICJTdGFydCI7DQlzdGFydEJ1dHRvbi5iYWNrQ29sb3Ig PSBDb2xvci5ibHVlOw0JU3ludGguc3RvcH0pfTsNcmFuZG9taXplQnV0dG9uLmFjdGlvbiA9 IHsNKDQqMTYpLmRvKHthcmcgaTsNCXcuYXQoaSsxNikudmFsdWUgPSBbMCwwLDAsMCwxXS5j aG9vc2U7DX0pDX07DTQuZG8oe2FyZyBpO3JhbmRvbWl6ZXMuYWRkKGVkaXRvci5hdChpKS5h dCgxMykpfSk7DW9zY01lc3MgPSB7YXJnIGo7DQkzLmRvKHthcmcgaTtlZGl0b3IuYXQoaiku YXQoaSkudmFsdWUgPSAxMDAwLnJhbmR9KTsNCWVkaXRvci5hdChqKS5hdCgzKS52YWx1ZSA9 IDAuMDErMC41LnJhbmQ7DQk5LmRvKHthcmcgaTtlZGl0b3IuYXQoaikuYXQoNCtpKS52YWx1 ZSA9IDB9KTsNCWVkaXRvci5hdChqKS5hdCg0KzQucmFuZCkudmFsdWUgPSAxOw0JZWRpdG9y LmF0KGopLmF0KDgrNS5yYW5kKS52YWx1ZSA9IDE7DX07DXJhbmRvbWl6ZXMuYXQoMCkuYWN0 aW9uID0ge29zY01lc3MudmFsdWUoMCl9Ow1yYW5kb21pemVzLmF0KDEpLmFjdGlvbiA9IHtv c2NNZXNzLnZhbHVlKDEpfTsNcmFuZG9taXplcy5hdCgyKS5hY3Rpb24gPSB7b3NjTWVzcy52 YWx1ZSgyKX07DXJhbmRvbWl6ZXMuYXQoMykuYWN0aW9uID0ge29zY01lc3MudmFsdWUoMyl9 Ow0NaW5kaWMwID0gew0Jdy5hdCgxNSkuYmFja0NvbG9yID0gQ29sb3IuZ3JleTsNCXcuYXQo MCkuYmFja0NvbG9yID0gQ29sb3IucmVkOw19Ow1pbmRpYzEgPSB7DQl3LmF0KGJlYXQtMSku YmFja0NvbG9yID0gQ29sb3IuZ3JleTsNCXcuYXQoYmVhdCkuYmFja0NvbG9yID0gQ29sb3Iu cmVkOw19Ow1zZXEgPSB7YXJnIGksIGosIGs7DQllID0gRW52LmxpbmVuKDAuMDEsIDAuMSwg ZWRpdG9yLmF0KGspLmF0KDMpLnZhbHVlLCAxKTsNCWlmKHcuYXQoaStiZWF0KS52YWx1ZSA9 PSAxLCB7DQkJb3V0MCA9IEVudkdlbi5hcihlLCANCQkJai52YWx1ZQ0JCQkpO30se2R1bW15 fSAvL1Npbk9zYy5rciowDQkpOw19Ow1zeW50aDAgPSB7YXJnIGk7DQltb2QwID0gU2F3LmFy KGVkaXRvci5hdChpKS5hdCgxKS5rcixlZGl0b3IuYXQoaSkuYXQoMikua3IpOw0Jb3NjMCA9 IFNpbk9zYy5hcihlZGl0b3IuYXQoaSkuYXQoMCkua3IrbW9kMCwgMCwgMC43KTsNfTsNc3lu dGgxID0ge2FyZyBpOw0vLwlmcmVxeSA9IGVkaXRvci5hdChpKS5hdCgwKS5rcjsNLy8JbW9k eSA9IGVkaXRvci5hdChpKS5hdCgxKS5rcjsNLy8Jb3NjeSA9IGVkaXRvci5hdChpKS5hdCgy KS5rcjsNLy9mcmVxeSA9IDIwMDsJCS8vdGhpcyByZWR1Y2UgNTAgdWdlbnMuLi4gKDgvc2Vj ICoyKDEyMGJwbSkqMyA9IDQ4KQ0vL21vZHkgPSAyMDA7CQkvLz8/IG1heWJlIG5vdC4uLg0v L29zY3kgPSAyMDA7DQlpZihlZGl0b3IuYXQoaSkuYXQoOCkudmFsdWUgPT0gMSwgewkJLy9t b2QgY2hvaWNlDQkJbW9kMCA9IFNpbk9zYy5hcihtb2R5LmF0KGkpKX0sew0JaWYoZWRpdG9y LmF0KGkpLmF0KDkpLnZhbHVlID09IDEsIHsNCQltb2QwID0gTEZTYXcuYXIobW9keS5hdChp KSl9LHsNCWlmKGVkaXRvci5hdChpKS5hdCgxMCkudmFsdWUgPT0gMSwgew0JCW1vZDAgPSBQ dWxzZS5hcihtb2R5LmF0KGkpKX0sew0JaWYoZWRpdG9yLmF0KGkpLmF0KDExKS52YWx1ZSA9 PSAxLCB7DQkJbW9kMCA9IExGTm9pc2UwLmtyKG1vZHkuYXQoaSkpfSx7DQkJbW9kMCA9IFNp bk9zYy5rcihtb2R5LmF0KGkpKX0NCSl9KX0pfSk7DQlpZihlZGl0b3IuYXQoaSkuYXQoNCku dmFsdWUgPT0gMSwgewkJLy9jYXIgY2hvaWNlDQkJb3NjMCA9IFNpbk9zYy5hcihtb2QwKm9z Y3kuYXQoaSkrZnJlcXkuYXQoaSksIDAsIDAuNyl9CSx7DQlpZihlZGl0b3IuYXQoaSkuYXQo NSkudmFsdWUgPT0gMSwgew0JCW9zYzAgPSBTYXcuYXIobW9kMCpvc2N5LmF0KGkpK2ZyZXF5 LmF0KGkpLCAwLjcpfSx7DQlpZihlZGl0b3IuYXQoaSkuYXQoNikudmFsdWUgPT0gMSwgew0J CW9zYzAgPSBQdWxzZS5hcihtb2QwKm9zY3kuYXQoaSkrZnJlcXkuYXQoaSksIDAuNSwgMC43 KX0sew0JaWYoZWRpdG9yLmF0KGkpLmF0KDcpLnZhbHVlID09IDEsIHsNCQlvc2MwID0gV2hp dGVOb2lzZS5hcihtb2QwKX0sew0JCW9zYzAgPSBTaW5Pc2MuYXIobW9kMCpvc2N5LmF0KGkp K2ZyZXF5LmF0KGkpLCAwLCAwLjcpfQ0JKX0pfSl9KTsNCS8vaS5wb3N0bG47DQkvL2kgPSBp LmFzSW50ZWdlcjsNCS8vb3V0cy5wdXQoaSwgb3NjMCk7DQlQYW4yLmFyKG9zYzAsIDEuMC5y YW5kKTsNfTsNcGxheUZ1bmMgPSB7DQlmcmVxeSA9IEFycmF5Lm5ldyg0KTsNCW1vZHkgPSBB cnJheS5uZXcoNCk7DQlvc2N5ID0gQXJyYXkubmV3KDQpOw0JNC5kbyh7YXJnIGk7ZnJlcXku YWRkKGVkaXRvci5hdChpKS5hdCgwKS5rcik7DQkJbW9keS5hZGQoZWRpdG9yLmF0KGkpLmF0 KDEpLmtyKTsNCQlvc2N5LmFkZChlZGl0b3IuYXQoaSkuYXQoMikua3IpOw0JfSk7DQliZWF0 ID0gMDsNCWJwbSA9IGNvdW50ZXIua3I7DQlkdW1teSA9IFNpbk9zYy5rciowOw0JdCA9IElt cHVsc2Uua3IoMjQwKTsNCS8vb3V0cyA9IEFycmF5LmZpbGwoNCwgU2luT3NjLmFyKjApOw0J MTYuZG8oe2FyZyBpOw0JCXcuYXQoaSkuYmFja0NvbG9yID0gQ29sb3IuZ3JleTsNCX0pOw0J ZmluYWxPdXQgPSBUU3Bhd24uYXIoew0JCWlmKGJlYXQgPT0gMTYsIHsNCQkJaW5kaWMwLnZh bHVlOw0JCQliZWF0ID0gMDt9LHsNCQkJaWYoYmVhdCA9PSAwLCB7DQkJCQlpbmRpYzAudmFs dWV9LHtpbmRpYzEudmFsdWV9KX0pOw0JCW91dDAgPSBzZXEudmFsdWUoMTYsIHN5bnRoMS52 YWx1ZSgwKSwgMCkrc2VxLnZhbHVlKDMyLCBzeW50aDEudmFsdWUoMSksIDEpDQkJCStzZXEu dmFsdWUoNDgsIHN5bnRoMS52YWx1ZSgyKSwgMikrc2VxLnZhbHVlKDY0LCBzeW50aDEudmFs dWUoMyksIDMpOw0JCWJlYXQgPSBiZWF0ICsgMTsNCQlvdXQwDQl9LCAyLCBuaWwsIFB1bHNl RGl2aWRlci5rcih0LCA2MCo2MC9icG0sIDYwKjYwLTEpKTsNCWZpbmFsT3V0ID0gRGVsYXlO LmFyKGZpbmFsT3V0LzUsIDAuMywgW3cxLmF0KDApLmtyLHcxLmF0KDApLmtyKzAuMDAyXSwg dzEuYXQoMSkua3IsIGZpbmFsT3V0LzUpKncxLmF0KDIpLmtyOyAvL2htbW0/DQlTY29wZS5h cih3LmF0KDQqMTYrMTkpLCBmaW5hbE91dCk7DQlmaW5hbE91dAkJLy9maW5hbE91dC50cnVu Yyh3MS5hdCgzKS5rcik7IC8vaG1tbW0gaW50ZXJlc3RpbmcNCX07DSkN - --MS_Mac_OE_776609_3076933014_MIME_Part-- - --MS_Mac_OE_3076933014_796219_MIME_Part-- ------------------------------ End of sc-users-digest V1 #315 ******************************