VimUnDojFl#ޔP4ɾ!IFb6914$ var expected = ['Hello World'];$0000Ovs_O5_vOvar var = require('module');5_ v O$var StreamCache = require('module');5_ v O5_vOvar var = require('module');5_vOvar assert = require('module');5_VOvar assert = require('assert'); var StreamCache = require('..');5_ VOc5_   vOconsole.log(var);5_  vOconsole.log('yes');5_  vO5_  vO5_   vO5_  vO5_ vO5_vOvar var = require('module');5_!v!O%var EventEmitter = require('module');5_!v!Ov5_'!v!O  5_!v!O }5_!v!O  5_!v!OfakeDestStream._writes = [];5_!v!O5_"!v!O    5_  vO  console.log(var);5_ vO  console.log(arguments);5_ vO  console.log(arguments);5_  vO cache.pipe(fakeDestStream);  5_  vO 5_ vO cache.write('a');5_   vO  5_!  vO 5_ "! vO%fakeDestStream.writes5_!#" vO%fakeDestStream._writes5_"$# vO'fakeDestStream._writes = []5_#%$ vO(fakeDestStream._writes = [];5_$&% vO) console.log(arguments);5_%'& vO*   5_&('  vO1 #fakeDestStream.write = function() {5_')( vO55_(*) vO55_)+* vO5ae5_*,+  vO9assert.equal(val, expected);5_+-, +2v2OA5assert.equal(fakeDestStream.writes.length, expected);5_,.-+2v2OAassert.equal();5_-/.+2v2ODassert.deepEqual();5_.0/+2v2O2var EventEmitter = require('events').EventEmitter;5_/10+2v2O5_021+2v2O5_132+2v2O5_243+2v2O5_354VO/assert.deepEqual(fakeDestStream.writes, ['a']);cache.write('a');cache.pipe(fakeDestStream); var cache = new StreamCache();  };  this.write.push(chunk); (fakeDestStream.write = function(chunk) { fakeDestStream.writes = []; (var fakeDestStream = new EventEmitter();5_465VO  5_576  VO  5_687 VO5_798  VO  5_8:9  VO  source.write('Hello World', f  5_9;: VO }5_:<; VO 5_;=< VO    5_<>=   vO  console.log(var);5_=?>*  vO$+var spawn = require('child_process');5_>@?vO- var cache = new CachedStream();5_?A@ vO4 source.pipe(cache);5_@BA vO] (source.write('Hello World', function() {5_ACB vOc  console.log('yes');5_BDC vOd   5_CED vOl  cache5_DFE vOo   5_EGF vOr  source.stdin5_FHG vOu  source.stdin.write(5_GIH vOu   5_HJI vO  cache.pipe();5_IKJvO  5_JLK vO 5_KML vO var de5_LNM vO   5_MON vO }5_NPOvO  5_OQP vO var dest5_PRQ vO 5_QSRvO 5_RTS vO 5_SUTvO  5_TVU vO  cache.pipe('');5_UWV vO  cache.pipe(');5_VXW vO  cache.pipe();5_WYX vO 5_XZY vO 5_Y[Z vO dest.on('data', function() {5_Z\[ vO 5_[^\vO  5_\_]^ vO #dest.stdout.on('data', function() {5_^`_ vO  5__a` vO   5_`ba vO  o5_acb vO   5_bdcvO" ae!  5_cedvO" assert.equal(val, expected);5_dfevO assert.equal(de, expected);5_egfvO5_fhgvO!  5_gihvO".source.stdin.write('Hello World', function() {5_hjivO" source.stdin.write();5_ikj vO # #  "5_jlk   vO  # console.log(var);5_kml   vO #)dest.stdout.on('data', function(buffer) {5_lnm   vO # console.log(buffer);5_mon   vO& # destOutput.push(buffer);5_npo  vO *//var fakeDestStream = new EventEmitter();//fakeDestStream.writes = [];*//fakeDestStream.write = function(chunk) { //this.write.push(chunk);//}; //var cache = new StreamCache();//cache.pipe(fakeDestStream);//cache.write('a');1//assert.deepEqual(fakeDestStream.writes, ['a']);5_oqp  vO(5_prq  vO5_qsr  vOsource.s5_rts  vO5_sut  vO)dest.5_tvuvO(source.stdin.write('Hello', function() { cache.pipe(dest.stdin); source.stdin.write('World');});5_uwvvO5_vxwvO}5_wyxvO5_xzyvO 5_y{zvO* console.log(var);5_z|{vO console.log('yes');5_{}|vO 5_|~}vO+ 5_}~vO, 5_~ vO2 source.end();5_vOP5_vOP35_vOV5 cache.pipe(dest);5_vOzvar dest = spawn('cat');5_ vO{var destA = spawn('cat');5_ vO|5_vO~var destA = spawn('cat');5_  VO  console.log(chunk);5_  VO var destOutput = [];5_  VO 5_ VOvar destA = spawn('cat');5_ VOvar dest = spawn('cat');5_ VOvar dests = spawn('cat');5_ VOvar destB = spawn('cat');5_ VO  fk 5_  v Ofor (var key in object) {5_  v O var value = object[key];5_  v O 5_  v O}5_  v O  ['a', 'b'].forEach(f 5_  v O }5_ v O  5_  v O 5_  v O   5_  v O ['a', 'b'].forEach(function() {5_  v O  dests[name] 5_  v O6  dests[name] = spawn('cat')5_ v O var dests = {};5_ v O var dest = {};5_  v O  dests[name] = spawn('cat');5_  v O   5_  v O  var dest = spawn('cat');;5_  v O  dests[name] = 5_  v O  dest[name] = 5_  v O  destData[name] = 5_  v O   5_   v O  dest5_  v O   5_   v O  5_  v O   dest.stdout.on('data', f   5_  v O! }5_  v O! })5_  v O  5_   v O  5_  v O 5_   v O !   5_ "  v O8 !% dest.stdout.on('data', function() {5_   v O  var dest = spawn('cat');5_   v O9 5_   v O: "  !5_  v Ovar destAData = [];5_  v Ovar destAData = [];5_  v O!dest.stdout.setEncoding('utf-8');5_  v O(dest.stdout.on('data', function(chunk) {5_  v O destOutput.push(chunk);5_  v O});5_  v O5_  v O5_  v Oc5_  v O5_  v Osource.stdout.pipe(cache);5_  v O5_  v O var destData = {};5_  v O var desData = {};5_  v O var desata = {};5_  v O var desta = {};5_  v O var desa = {};5_  v O  var des = {};5_  v O  var des= {};5_  v O  5_   v O  destData[name] = [];5_   v O 5_  v O var dest = {};5_   v O var data = {};5_   v O  var dest = spawn('cat');5_   v O   5_   v O 5_   v O 5_  v O  destData[name].push(chunk);5_  v Ocache.pipe(dest5_  v Ocache.pipe(dests.a.stdout);5_  v O cache.pipe(dest.stdin);5_  v O cache.pipe(dests.stdin);5_  v O5_  v O5_  v O c 5_vO; console.log(var);5_ vO 5_ vO 5_ vO   5_ vO 5_ vO  5_ vO 5_ vO   5_ vO 5_ vO  dataEvents[name] = [];5_ vO 5_ vO 5_ vO 5_   VO?  dataEvents[name] = []; ( var dest = dests[name] = spawn('cat');5_  VOG});5_  VOL 5_vOLE console.log(var);5_ vO   5_ vO  dests5_ vOF   5_vOP  dest.stdin.resume();5_vO4 !process.on('exit', f5_"vO8!}5_!vO9Q !5_ vO9!"" ""  "!5_!!!vO; """ assert.deepEqual(val, expected);5_!!!!vO@ ""+ assert.deepEqual(dataEvents.a, expected);5_ !!vOA "#  ""5_"!""vOK!##% assert.deepEqual(dataEvents.a, []);5_"(""vOM"$#5_#""vOM#%$5_#""vOO"$%+ assert.deepEqual(dataEvents.a, expected);5_$""vOP#%%+ assert.deepEqual(dataEvents.a, expected);5_$""vOPU#%+ assert.deepEqual(dataEvents.c, expected);5_""vOjV console.log(dataEvents);5_!!vOs% $5_ ##vOzW dest5_  ""vO %#['a', 'b'].forEach(function(name) {5_   $""vOY#%- //assert.deepEqual(dataEvents.c, expected);5_   ""vO5_   !!vO% $5_  ##vO5_ ""vO5_!!vO"& source.on('exit', f %$5_!%%vO "(}5_ %%vO 5_$$vO!'5_ %%vO 5_$$vO!'5_ %%vO 5_$$vO!( !'5_ %%vOZ! cache.pip5_ %%vO! //cache.pip5_ %%vOc!( cache.pip5_$%%vOe#$$ var expected = ['Hello', 'World'];5_$$$vO$'( $&'5_&$$vO%& tr5_%$$vO$%5_ #$$vO#%( #%'5_! $ %%vO$') $&(5_ "!%''vOf$&*5_!#"$$ % V O"m$&! var alternative = 'HelloWorld';#%! var expected = ['Hello World'];5_"$#'$%VOM')+ ')*5_#%$)$%VOP(*++ assert.deepEqual(dataEvents.b, expected);5_$&%)$%VOP)-, )++5_%'&+))VOU+-.5_&('+))VOV*+5_')(%))VO[$&.! var alternative = 'HelloWorld';5_(*)%!))VO\$&." var alternative = ['HelloWorld';5_)+*+#))VO^*,.- assert.deepEqual(dataEvents.b, expected);5_*,+,()-V-Oa,..5_+-,'()-V-Oc')/5_,.-///VOf.4/./+ assert.deepEqual(dataEvents.c, expected);5_-/.0 /3VOh/14- assert.deepEqual(dataEvents.b, expected);5_.0/2 /3VOio1340 assert.deepEqual(dataEvents.b, alternative);5_/0$/3VOus#%4$ var expected = ['Hello World'];5_#%%vO#$' #%( 5_vO,N //source.stdin.end();5_ vO 5_   v O 5_ v O +var dests = ['a', 'b'].forEach(function() {5_  VO  .push(chunk);5_vO5_ VO5_VO5_ VO  var destData5_VO 5_vO (for (var i = 0; i < array.length; i++) {  var item = array[i]; }5_vO for (var i = 0; i < 2; i++) {  var item = 2[i];5_ vO 5_ vO 5_\^] vO 5