|  | @@ -17,13 +17,13 @@ return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(_st(self._key()).__eq(_st(anAssociation)._key()))._and_((function(){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx3) {
 | 
	
		
			
				|  |  |  return _st(self._value()).__eq(_st(anAssociation)._value());
 | 
	
		
			
				|  |  | -}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx3) {$ctx3.fillBlock({},$ctx2,2)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"=",{anAssociation:anAssociation},smalltalk.Association)})},
 | 
	
		
			
				|  |  |  args: ["anAssociation"],
 | 
	
		
			
				|  |  |  source: "= anAssociation\x0a\x09^self class = anAssociation class and: [\x0a\x09\x09self key = anAssociation key and: [\x0a\x09\x09self value = anAssociation value]]",
 | 
	
		
			
				|  |  | -messageSends: ["and:", "=", "value", "key", "class"],
 | 
	
		
			
				|  |  | +messageSends: ["and:", "=", "class", "key", "value"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.Association);
 | 
	
	
		
			
				|  | @@ -188,7 +188,7 @@ var $1;
 | 
	
		
			
				|  |  |  _st(aCollection)._do_((function(each){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return self._add_(each);
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  $1=aCollection;
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"addAll:",{aCollection:aCollection},smalltalk.Collection)})},
 | 
	
	
		
			
				|  | @@ -229,12 +229,12 @@ var $1;
 | 
	
		
			
				|  |  |  $1=_st(self._asArray())._collect_((function(each){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(each)._asJSON();
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"asJSON",{},smalltalk.Collection)})},
 | 
	
		
			
				|  |  |  args: [],
 | 
	
		
			
				|  |  |  source: "asJSON\x0a\x09^self asArray collect: [:each | each asJSON]",
 | 
	
		
			
				|  |  | -messageSends: ["collect:", "asJSON", "asArray"],
 | 
	
		
			
				|  |  | +messageSends: ["collect:", "asArray", "asJSON"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.Collection);
 | 
	
	
		
			
				|  | @@ -289,7 +289,7 @@ stream=_st(_st(self._class())._new())._writeStream();
 | 
	
		
			
				|  |  |  self._do_((function(each){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(stream)._nextPut_(_st(aBlock)._value_(each));
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  $1=_st(stream)._contents();
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"collect:",{aBlock:aBlock,stream:stream},smalltalk.Collection)})},
 | 
	
	
		
			
				|  | @@ -316,7 +316,7 @@ $1=_st(aBlock)._value_(each);
 | 
	
		
			
				|  |  |  if(smalltalk.assert($1)){
 | 
	
		
			
				|  |  |  throw $early=[true];
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  return false;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  catch(e) {if(e===$early)return e[0]; throw e}
 | 
	
	
		
			
				|  | @@ -381,7 +381,7 @@ var $1;
 | 
	
		
			
				|  |  |  $1=self._reject_((function(each){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(aCollection)._includes_(each);
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"copyWithoutAll:",{aCollection:aCollection},smalltalk.Collection)})},
 | 
	
		
			
				|  |  |  args: ["aCollection"],
 | 
	
	
		
			
				|  | @@ -402,7 +402,7 @@ var $1;
 | 
	
		
			
				|  |  |  $1=self._detect_ifNone_(aBlock,(function(){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return self._errorNotFound();
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"detect:",{aBlock:aBlock},smalltalk.Collection)})},
 | 
	
		
			
				|  |  |  args: ["aBlock"],
 | 
	
	
		
			
				|  | @@ -456,12 +456,12 @@ actionBeforeElement=(function(){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  actionBeforeElement=anotherBlock;
 | 
	
		
			
				|  |  |  return actionBeforeElement;
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})});
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})});
 | 
	
		
			
				|  |  |  self._do_((function(each){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  _st(actionBeforeElement)._value();
 | 
	
		
			
				|  |  |  return _st(aBlock)._value_(each);
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,2)})}));
 | 
	
		
			
				|  |  |  return self}, function($ctx1) {$ctx1.fill(self,"do:separatedBy:",{aBlock:aBlock,anotherBlock:anotherBlock,actionBeforeElement:actionBeforeElement},smalltalk.Collection)})},
 | 
	
		
			
				|  |  |  args: ["aBlock", "anotherBlock"],
 | 
	
		
			
				|  |  |  source: "do: aBlock separatedBy: anotherBlock\x0a\x09| actionBeforeElement |\x0a\x09actionBeforeElement := [actionBeforeElement := anotherBlock].\x0a\x09self do: [:each |\x0a\x09\x09actionBeforeElement value.\x0a\x09\x09aBlock value: each]",
 | 
	
	
		
			
				|  | @@ -504,7 +504,7 @@ return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"ifEmpty:",{aBlock:aBlock},smalltalk.Collection)})},
 | 
	
		
			
				|  |  |  args: ["aBlock"],
 | 
	
		
			
				|  |  |  source: "ifEmpty: aBlock\x0a\x09\x22Evaluate the given block with the receiver as argument, answering its value if the receiver is empty, otherwise answer the receiver. Note that the fact that this method returns its argument in case the receiver is not empty allows one to write expressions like the following ones: self classifyMethodAs:\x0a\x09\x09(myProtocol ifEmpty: ['As yet unclassified'])\x22\x0a\x09^ self isEmpty\x0a\x09\x09ifTrue: [ aBlock value ]\x0a\x09\x09ifFalse: [ self ]",
 | 
	
		
			
				|  |  | -messageSends: ["ifTrue:ifFalse:", "value", "isEmpty"],
 | 
	
		
			
				|  |  | +messageSends: ["ifTrue:ifFalse:", "isEmpty", "value"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.Collection);
 | 
	
	
		
			
				|  | @@ -541,10 +541,10 @@ sentinel=_st($Object())._new();
 | 
	
		
			
				|  |  |  $1=_st(self._detect_ifNone_((function(each){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(each).__eq(anObject);
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})}),(function(){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return sentinel;
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))).__tild_eq(sentinel);
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)})}))).__tild_eq(sentinel);
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"includes:",{anObject:anObject,sentinel:sentinel},smalltalk.Collection)})},
 | 
	
		
			
				|  |  |  args: ["anObject"],
 | 
	
	
		
			
				|  | @@ -568,7 +568,7 @@ self._do_((function(each){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  result=_st(aBlock)._value_value_(result,each);
 | 
	
		
			
				|  |  |  return result;
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  $1=result;
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"inject:into:",{anObject:anObject,aBlock:aBlock,result:result},smalltalk.Collection)})},
 | 
	
	
		
			
				|  | @@ -596,17 +596,17 @@ return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  $1=_st(_st(set)._includes_(each))._and_((function(){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx3) {
 | 
	
		
			
				|  |  |  return _st(_st(outputSet)._includes_(each))._not();
 | 
	
		
			
				|  |  | -}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 | 
	
		
			
				|  |  | +}, function($ctx3) {$ctx3.fillBlock({},$ctx2,2)})}));
 | 
	
		
			
				|  |  |  if(smalltalk.assert($1)){
 | 
	
		
			
				|  |  |  return _st(outputSet)._add_(each);
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  $2=_st(self._class())._withAll_(_st(outputSet)._asArray());
 | 
	
		
			
				|  |  |  return $2;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"intersection:",{aCollection:aCollection,set:set,outputSet:outputSet},smalltalk.Collection)})},
 | 
	
		
			
				|  |  |  args: ["aCollection"],
 | 
	
		
			
				|  |  |  source: "intersection: aCollection\x0a\x09\x22Answer the set theoretic intersection of two collections.\x22\x0a\x0a\x09| set outputSet |\x0a\x09\x0a\x09set := self asSet.\x0a\x09outputSet := Set new.\x0a\x09\x0a\x09aCollection do: [ :each |\x0a\x09\x09((set includes: each) and: [(outputSet includes: each) not])\x0a\x09\x09\x09ifTrue: [\x0a\x09\x09\x09\x09outputSet add: each]].\x0a\x09\x09\x0a\x09^ self class withAll: outputSet asArray",
 | 
	
		
			
				|  |  | -messageSends: ["asSet", "new", "do:", "ifTrue:", "add:", "and:", "not", "includes:", "withAll:", "asArray", "class"],
 | 
	
		
			
				|  |  | +messageSends: ["asSet", "new", "do:", "ifTrue:", "and:", "includes:", "not", "add:", "withAll:", "class", "asArray"],
 | 
	
		
			
				|  |  |  referencedClasses: ["Set"]
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.Collection);
 | 
	
	
		
			
				|  | @@ -664,13 +664,13 @@ if(smalltalk.assert($1)){
 | 
	
		
			
				|  |  |  tally=_st(tally).__plus((1));
 | 
	
		
			
				|  |  |  return tally;
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  $2=tally;
 | 
	
		
			
				|  |  |  return $2;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"occurrencesOf:",{anObject:anObject,tally:tally},smalltalk.Collection)})},
 | 
	
		
			
				|  |  |  args: ["anObject"],
 | 
	
		
			
				|  |  |  source: "occurrencesOf: anObject\x0a\x09\x22Answer how many of the receiver's elements are equal to anObject.\x22\x0a\x0a\x09| tally |\x0a\x09tally := 0.\x0a\x09self do: [:each | anObject = each ifTrue: [tally := tally + 1]].\x0a\x09^tally",
 | 
	
		
			
				|  |  | -messageSends: ["do:", "ifTrue:", "+", "="],
 | 
	
		
			
				|  |  | +messageSends: ["do:", "ifTrue:", "=", "+"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.Collection);
 | 
	
	
		
			
				|  | @@ -685,7 +685,7 @@ return smalltalk.withContext(function($ctx1) {
 | 
	
		
			
				|  |  |  self._do_((function(each){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(each)._putOn_(aStream);
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  return self}, function($ctx1) {$ctx1.fill(self,"putOn:",{aStream:aStream},smalltalk.Collection)})},
 | 
	
		
			
				|  |  |  args: ["aStream"],
 | 
	
		
			
				|  |  |  source: "putOn: aStream\x0a\x09self do: [ :each | each putOn: aStream ]",
 | 
	
	
		
			
				|  | @@ -705,7 +705,7 @@ var $1;
 | 
	
		
			
				|  |  |  $1=self._select_((function(each){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(_st(aBlock)._value_(each)).__eq(false);
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"reject:",{aBlock:aBlock},smalltalk.Collection)})},
 | 
	
		
			
				|  |  |  args: ["aBlock"],
 | 
	
	
		
			
				|  | @@ -726,7 +726,7 @@ var $1;
 | 
	
		
			
				|  |  |  $1=self._remove_ifAbsent_(anObject,(function(){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return self._errorNotFound();
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"remove:",{anObject:anObject},smalltalk.Collection)})},
 | 
	
		
			
				|  |  |  args: ["anObject"],
 | 
	
	
		
			
				|  | @@ -768,13 +768,13 @@ $1=_st(aBlock)._value_(each);
 | 
	
		
			
				|  |  |  if(smalltalk.assert($1)){
 | 
	
		
			
				|  |  |  return _st(stream)._nextPut_(each);
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  $2=_st(stream)._contents();
 | 
	
		
			
				|  |  |  return $2;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"select:",{aBlock:aBlock,stream:stream},smalltalk.Collection)})},
 | 
	
		
			
				|  |  |  args: ["aBlock"],
 | 
	
		
			
				|  |  |  source: "select: aBlock\x0a\x09| stream |\x0a\x09stream := self class new writeStream.\x0a\x09self do: [:each |\x0a\x09\x09(aBlock value: each) ifTrue: [\x0a\x09\x09stream nextPut: each]].\x0a\x09^stream contents",
 | 
	
		
			
				|  |  | -messageSends: ["writeStream", "new", "class", "do:", "ifTrue:", "nextPut:", "value:", "contents"],
 | 
	
		
			
				|  |  | +messageSends: ["writeStream", "new", "class", "do:", "ifTrue:", "value:", "nextPut:", "contents"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.Collection);
 | 
	
	
		
			
				|  | @@ -795,13 +795,13 @@ $1=_st(selectBlock)._value_(each);
 | 
	
		
			
				|  |  |  if(smalltalk.assert($1)){
 | 
	
		
			
				|  |  |  return _st(stream)._nextPut_(_st(collectBlock)._value_(each));
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  $2=_st(stream)._contents();
 | 
	
		
			
				|  |  |  return $2;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"select:thenCollect:",{selectBlock:selectBlock,collectBlock:collectBlock,stream:stream},smalltalk.Collection)})},
 | 
	
		
			
				|  |  |  args: ["selectBlock", "collectBlock"],
 | 
	
		
			
				|  |  |  source: "select: selectBlock thenCollect: collectBlock\x0a\x09| stream |\x0a\x09stream := self class new writeStream.\x0a\x09self do: [:each |\x0a\x09\x09(selectBlock value: each) ifTrue: [\x0a\x09\x09stream nextPut: (collectBlock value: each)]].\x0a\x09^stream contents",
 | 
	
		
			
				|  |  | -messageSends: ["writeStream", "new", "class", "do:", "ifTrue:", "nextPut:", "value:", "contents"],
 | 
	
		
			
				|  |  | +messageSends: ["writeStream", "new", "class", "do:", "ifTrue:", "value:", "nextPut:", "contents"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.Collection);
 | 
	
	
		
			
				|  | @@ -958,7 +958,7 @@ var $1;
 | 
	
		
			
				|  |  |  $1=self._at_ifAbsent_(anIndex,(function(){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return self._errorNotFound();
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"at:",{anIndex:anIndex},smalltalk.IndexableCollection)})},
 | 
	
		
			
				|  |  |  args: ["anIndex"],
 | 
	
	
		
			
				|  | @@ -995,7 +995,7 @@ var $1;
 | 
	
		
			
				|  |  |  $1=self._at_ifPresent_ifAbsent_(anIndex,aBlock,(function(){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return nil;
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"at:ifPresent:",{anIndex:anIndex,aBlock:aBlock},smalltalk.IndexableCollection)})},
 | 
	
		
			
				|  |  |  args: ["anIndex", "aBlock"],
 | 
	
	
		
			
				|  | @@ -1048,7 +1048,7 @@ var $1;
 | 
	
		
			
				|  |  |  $1=self._indexOf_ifAbsent_(anObject,(function(){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return self._errorNotFound();
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"indexOf:",{anObject:anObject},smalltalk.IndexableCollection)})},
 | 
	
		
			
				|  |  |  args: ["anObject"],
 | 
	
	
		
			
				|  | @@ -1084,7 +1084,7 @@ return smalltalk.withContext(function($ctx1) {
 | 
	
		
			
				|  |  |  self._withIndexDo_((function(each,index){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(aBlock)._value_value_(each,_st(anotherCollection)._at_(index));
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each,index:index},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({each:each,index:index},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  return self}, function($ctx1) {$ctx1.fill(self,"with:do:",{anotherCollection:anotherCollection,aBlock:aBlock},smalltalk.IndexableCollection)})},
 | 
	
		
			
				|  |  |  args: ["anotherCollection", "aBlock"],
 | 
	
		
			
				|  |  |  source: "with: anotherCollection do: aBlock\x0a\x09\x22Calls aBlock with every value from self\x0a\x09and with indetically-indexed value from anotherCollection\x22\x0a\x0a\x09self withIndexDo: [ :each :index |\x0a\x09\x09aBlock value: each value: (anotherCollection at: index) ]",
 | 
	
	
		
			
				|  | @@ -1222,7 +1222,7 @@ c=_st(self._class())._new();
 | 
	
		
			
				|  |  |  self._keysAndValuesDo_((function(key,value){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(c)._at_put_(key,_st(value)._asJSON());
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({key:key,value:value},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({key:key,value:value},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  $1=c;
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"asJSON",{c:c},smalltalk.HashedCollection)})},
 | 
	
	
		
			
				|  | @@ -1246,7 +1246,7 @@ associations=[];
 | 
	
		
			
				|  |  |  self._associationsDo_((function(each){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(associations)._add_(each);
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  $1=associations;
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"associations",{associations:associations},smalltalk.HashedCollection)})},
 | 
	
	
		
			
				|  | @@ -1268,7 +1268,7 @@ return smalltalk.withContext(function($ctx1) {
 | 
	
		
			
				|  |  |  self._keysAndValuesDo_((function(key,value){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(aBlock)._value_(_st($Association())._key_value_(key,value));
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({key:key,value:value},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({key:key,value:value},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  return self}, function($ctx1) {$ctx1.fill(self,"associationsDo:",{aBlock:aBlock},smalltalk.HashedCollection)})},
 | 
	
		
			
				|  |  |  args: ["aBlock"],
 | 
	
		
			
				|  |  |  source: "associationsDo: aBlock\x0a\x09self keysAndValuesDo: [:key :value |\x0a\x09\x09aBlock value: (Association key: key value: value)]",
 | 
	
	
		
			
				|  | @@ -1289,12 +1289,12 @@ $2=self._includesKey_(aKey);
 | 
	
		
			
				|  |  |  $1=_st($2)._ifTrue_ifFalse_((function(){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return self._basicAt_(aKey);
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),aBlock);
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})}),aBlock);
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"at:ifAbsent:",{aKey:aKey,aBlock:aBlock},smalltalk.HashedCollection)})},
 | 
	
		
			
				|  |  |  args: ["aKey", "aBlock"],
 | 
	
		
			
				|  |  |  source: "at: aKey ifAbsent: aBlock\x0a\x09^(self includesKey: aKey)\x0a\x09\x09ifTrue: [self basicAt: aKey]\x0a\x09\x09ifFalse: aBlock",
 | 
	
		
			
				|  |  | -messageSends: ["ifTrue:ifFalse:", "basicAt:", "includesKey:"],
 | 
	
		
			
				|  |  | +messageSends: ["ifTrue:ifFalse:", "includesKey:", "basicAt:"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.HashedCollection);
 | 
	
	
		
			
				|  | @@ -1310,7 +1310,7 @@ var $1;
 | 
	
		
			
				|  |  |  $1=self._at_ifAbsent_(aKey,(function(){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return self._at_put_(aKey,_st(aBlock)._value());
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"at:ifAbsentPut:",{aKey:aKey,aBlock:aBlock},smalltalk.HashedCollection)})},
 | 
	
		
			
				|  |  |  args: ["aKey", "aBlock"],
 | 
	
	
		
			
				|  | @@ -1332,12 +1332,12 @@ $2=self._includesKey_(aKey);
 | 
	
		
			
				|  |  |  $1=_st($2)._ifTrue_ifFalse_((function(){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(aBlock)._value_(self._at_(aKey));
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}),anotherBlock);
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})}),anotherBlock);
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"at:ifPresent:ifAbsent:",{aKey:aKey,aBlock:aBlock,anotherBlock:anotherBlock},smalltalk.HashedCollection)})},
 | 
	
		
			
				|  |  |  args: ["aKey", "aBlock", "anotherBlock"],
 | 
	
		
			
				|  |  |  source: "at: aKey ifPresent: aBlock ifAbsent: anotherBlock\x0a\x09\x22Lookup the given key in the receiver.\x0a\x09If it is present, answer the value of evaluating the oneArgBlock with the value associated with the key,\x0a\x09otherwise answer the value of absentBlock.\x22\x0a\x09^(self includesKey: aKey)\x0a\x09\x09ifTrue: [ aBlock value: (self at: aKey) ]\x0a\x09\x09ifFalse: anotherBlock",
 | 
	
		
			
				|  |  | -messageSends: ["ifTrue:ifFalse:", "value:", "at:", "includesKey:"],
 | 
	
		
			
				|  |  | +messageSends: ["ifTrue:ifFalse:", "includesKey:", "value:", "at:"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.HashedCollection);
 | 
	
	
		
			
				|  | @@ -1373,7 +1373,7 @@ newDict=_st(self._class())._new();
 | 
	
		
			
				|  |  |  self._keysAndValuesDo_((function(key,value){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(newDict)._at_put_(key,_st(aBlock)._value_(value));
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({key:key,value:value},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({key:key,value:value},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  $1=newDict;
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"collect:",{aBlock:aBlock,newDict:newDict},smalltalk.HashedCollection)})},
 | 
	
	
		
			
				|  | @@ -1397,7 +1397,7 @@ copy=_st(self._class())._new();
 | 
	
		
			
				|  |  |  self._keysAndValuesDo_((function(key,value){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(copy)._at_put_(key,_st(value)._deepCopy());
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({key:key,value:value},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({key:key,value:value},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  $1=copy;
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"deepCopy",{copy:copy},smalltalk.HashedCollection)})},
 | 
	
	
		
			
				|  | @@ -1487,12 +1487,12 @@ var $1;
 | 
	
		
			
				|  |  |  $1=_st(self._keys())._detect_ifNone_((function(each){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(self._at_(each)).__eq(anObject);
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),aBlock);
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})}),aBlock);
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"indexOf:ifAbsent:",{anObject:anObject,aBlock:aBlock},smalltalk.HashedCollection)})},
 | 
	
		
			
				|  |  |  args: ["anObject", "aBlock"],
 | 
	
		
			
				|  |  |  source: "indexOf: anObject ifAbsent: aBlock\x0a\x0a\x09^ self keys detect: [ :each | (self at: each) = anObject ] ifNone: aBlock",
 | 
	
		
			
				|  |  | -messageSends: ["detect:ifNone:", "=", "at:", "keys"],
 | 
	
		
			
				|  |  | +messageSends: ["detect:ifNone:", "keys", "=", "at:"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.HashedCollection);
 | 
	
	
		
			
				|  | @@ -1508,7 +1508,7 @@ var $1;
 | 
	
		
			
				|  |  |  $1=self._keyAtValue_ifAbsent_(anObject,(function(){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return self._errorNotFound();
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"keyAtValue:",{anObject:anObject},smalltalk.HashedCollection)})},
 | 
	
		
			
				|  |  |  args: ["anObject"],
 | 
	
	
		
			
				|  | @@ -1571,7 +1571,7 @@ return smalltalk.withContext(function($ctx1) {
 | 
	
		
			
				|  |  |  self._keysDo_((function(each){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(aBlock)._value_value_(each,self._at_(each));
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  return self}, function($ctx1) {$ctx1.fill(self,"keysAndValuesDo:",{aBlock:aBlock},smalltalk.HashedCollection)})},
 | 
	
		
			
				|  |  |  args: ["aBlock"],
 | 
	
		
			
				|  |  |  source: "keysAndValuesDo: aBlock\x0a\x09self keysDo: [:each |\x0a\x09\x09aBlock value: each value: (self at: each)]",
 | 
	
	
		
			
				|  | @@ -1608,10 +1608,10 @@ _st(aStream)._nextPutAll_(" (");
 | 
	
		
			
				|  |  |  _st(self._associations())._do_separatedBy_((function(each){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(each)._printOn_(aStream);
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})}),(function(){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(aStream)._nextPutAll_(" , ");
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)})}));
 | 
	
		
			
				|  |  |  _st(aStream)._nextPutAll_(")");
 | 
	
		
			
				|  |  |  return self}, function($ctx1) {$ctx1.fill(self,"printOn:",{aStream:aStream},smalltalk.HashedCollection)})},
 | 
	
		
			
				|  |  |  args: ["aStream"],
 | 
	
	
		
			
				|  | @@ -1675,7 +1675,7 @@ return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"removeKey:ifAbsent:",{aKey:aKey,aBlock:aBlock},smalltalk.HashedCollection)})},
 | 
	
		
			
				|  |  |  args: ["aKey", "aBlock"],
 | 
	
		
			
				|  |  |  source: "removeKey: aKey ifAbsent: aBlock\x0a\x09^(self includesKey: aKey)\x0a\x09\x09ifFalse: [aBlock value]\x0a\x09\x09ifTrue: [self basicDelete: aKey]",
 | 
	
		
			
				|  |  | -messageSends: ["ifFalse:ifTrue:", "value", "basicDelete:", "includesKey:"],
 | 
	
		
			
				|  |  | +messageSends: ["ifFalse:ifTrue:", "includesKey:", "value", "basicDelete:"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.HashedCollection);
 | 
	
	
		
			
				|  | @@ -1696,13 +1696,13 @@ $1=_st(aBlock)._value_(value);
 | 
	
		
			
				|  |  |  if(smalltalk.assert($1)){
 | 
	
		
			
				|  |  |  return _st(newDict)._at_put_(key,value);
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({key:key,value:value},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({key:key,value:value},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  $2=newDict;
 | 
	
		
			
				|  |  |  return $2;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"select:",{aBlock:aBlock,newDict:newDict},smalltalk.HashedCollection)})},
 | 
	
		
			
				|  |  |  args: ["aBlock"],
 | 
	
		
			
				|  |  |  source: "select: aBlock\x0a\x09| newDict |\x0a\x09newDict := self class new.\x0a\x09self keysAndValuesDo: [:key :value |\x0a\x09\x09(aBlock value: value) ifTrue: [newDict at: key put: value]].\x0a\x09^newDict",
 | 
	
		
			
				|  |  | -messageSends: ["new", "class", "keysAndValuesDo:", "ifTrue:", "at:put:", "value:"],
 | 
	
		
			
				|  |  | +messageSends: ["new", "class", "keysAndValuesDo:", "ifTrue:", "value:", "at:put:"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.HashedCollection);
 | 
	
	
		
			
				|  | @@ -1720,7 +1720,7 @@ copy=_st(self._class())._new();
 | 
	
		
			
				|  |  |  self._keysAndValuesDo_((function(key,value){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(copy)._at_put_(key,value);
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({key:key,value:value},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({key:key,value:value},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  $1=copy;
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"shallowCopy",{copy:copy},smalltalk.HashedCollection)})},
 | 
	
	
		
			
				|  | @@ -1779,11 +1779,11 @@ return smalltalk.withContext(function($ctx1) {
 | 
	
		
			
				|  |  |  _st(self._values())._do_((function(value){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(aBlock)._value_(value);
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  return self}, function($ctx1) {$ctx1.fill(self,"valuesDo:",{aBlock:aBlock},smalltalk.HashedCollection)})},
 | 
	
		
			
				|  |  |  args: ["aBlock"],
 | 
	
		
			
				|  |  |  source: "valuesDo: aBlock\x0a\x09self values do: [ :value | aBlock value: value ]",
 | 
	
		
			
				|  |  | -messageSends: ["do:", "value:", "values"],
 | 
	
		
			
				|  |  | +messageSends: ["do:", "values", "value:"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.HashedCollection);
 | 
	
	
		
			
				|  | @@ -1798,7 +1798,7 @@ return smalltalk.withContext(function($ctx1) {
 | 
	
		
			
				|  |  |  self._keysAndValuesDo_((function(key,value){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(aBlock)._value_value_(value,key);
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({key:key,value:value},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({key:key,value:value},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  return self}, function($ctx1) {$ctx1.fill(self,"withIndexDo:",{aBlock:aBlock},smalltalk.HashedCollection)})},
 | 
	
		
			
				|  |  |  args: ["aBlock"],
 | 
	
		
			
				|  |  |  source: "withIndexDo: aBlock\x0a\x09self keysAndValuesDo: [ :key :value | aBlock value: value value: key ]",
 | 
	
	
		
			
				|  | @@ -1821,7 +1821,7 @@ newCollection=self._new();
 | 
	
		
			
				|  |  |  _st(aCollection)._do_((function(each){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(newCollection)._add_(each);
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  $1=newCollection;
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"from:",{aCollection:aCollection,newCollection:newCollection},smalltalk.HashedCollection.klass)})},
 | 
	
	
		
			
				|  | @@ -1867,13 +1867,13 @@ newCollection=self._new();
 | 
	
		
			
				|  |  |  _st((1)._to_by_(_st(aCollection)._size(),(2)))._do_((function(each){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(newCollection)._at_put_(_st(aCollection)._at_(each),_st(aCollection)._at_(_st(each).__plus((1))));
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,2)})}));
 | 
	
		
			
				|  |  |  $2=newCollection;
 | 
	
		
			
				|  |  |  return $2;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"newFromPairs:",{aCollection:aCollection,newCollection:newCollection},smalltalk.HashedCollection.klass)})},
 | 
	
		
			
				|  |  |  args: ["aCollection"],
 | 
	
		
			
				|  |  |  source: "newFromPairs: aCollection\x0a\x09\x22Accept an array of elements where every two elements form an \x0a\x09association - the odd element being the key, and the even element the value.\x22\x0a\x09\x0a\x09| newCollection |\x0a\x09\x0a\x09aCollection size even ifFalse: [ \x0a\x09\x09self error: '#newFromPairs only accepts arrays of an even length' ].\x0a\x09\x09\x0a\x09newCollection := self new.\x0a\x09( 1 to: aCollection size by: 2 ) do: [ :each | \x0a\x09\x09newCollection at: (aCollection at: each) put: (aCollection at: each + 1) ].\x0a\x09\x09\x0a\x09^ newCollection",
 | 
	
		
			
				|  |  | -messageSends: ["ifFalse:", "error:", "even", "size", "new", "do:", "at:put:", "at:", "+", "to:by:"],
 | 
	
		
			
				|  |  | +messageSends: ["ifFalse:", "even", "size", "error:", "new", "do:", "to:by:", "at:put:", "at:", "+"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.HashedCollection.klass);
 | 
	
	
		
			
				|  | @@ -1990,7 +1990,7 @@ var $2,$1;
 | 
	
		
			
				|  |  |  index=_st(self["@values"])._indexOf_ifAbsent_(anObject,(function(){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return (0);
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  $2=_st(index).__eq((0));
 | 
	
		
			
				|  |  |  if(smalltalk.assert($2)){
 | 
	
		
			
				|  |  |  $1=_st(aBlock)._value();
 | 
	
	
		
			
				|  | @@ -2001,7 +2001,7 @@ return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"indexOf:ifAbsent:",{anObject:anObject,aBlock:aBlock,index:index},smalltalk.Dictionary)})},
 | 
	
		
			
				|  |  |  args: ["anObject", "aBlock"],
 | 
	
		
			
				|  |  |  source: "indexOf: anObject ifAbsent: aBlock\x0a\x09| index |\x0a\x09index := values \x0a\x09\x09indexOf: anObject \x0a\x09\x09ifAbsent: [ 0 ].\x0a\x09^ index = 0 \x0a\x09\x09ifTrue: [ aBlock value ] \x0a\x09\x09ifFalse: [ keys at: index ]",
 | 
	
		
			
				|  |  | -messageSends: ["indexOf:ifAbsent:", "ifTrue:ifFalse:", "value", "at:", "="],
 | 
	
		
			
				|  |  | +messageSends: ["indexOf:ifAbsent:", "ifTrue:ifFalse:", "=", "value", "at:"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.Dictionary);
 | 
	
	
		
			
				|  | @@ -2182,7 +2182,7 @@ try {
 | 
	
		
			
				|  |  |  $1=_st(_st(self._class()).__eq(_st(aCollection)._class()))._and_((function(){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(self._size()).__eq(_st(aCollection)._size());
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  if(! smalltalk.assert($1)){
 | 
	
		
			
				|  |  |  return false;
 | 
	
		
			
				|  |  |  };
 | 
	
	
		
			
				|  | @@ -2192,14 +2192,14 @@ $2=_st(_st(aCollection)._at_(i)).__eq(each);
 | 
	
		
			
				|  |  |  if(! smalltalk.assert($2)){
 | 
	
		
			
				|  |  |  throw $early=[false];
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each,i:i},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({each:each,i:i},$ctx1,3)})}));
 | 
	
		
			
				|  |  |  return true;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  catch(e) {if(e===$early)return e[0]; throw e}
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"=",{aCollection:aCollection},smalltalk.SequenceableCollection)})},
 | 
	
		
			
				|  |  |  args: ["aCollection"],
 | 
	
		
			
				|  |  |  source: "= aCollection\x0a\x09(self class = aCollection class and: [\x0a\x09\x09self size = aCollection size]) ifFalse: [^false].\x0a\x09self withIndexDo: [:each :i |\x0a\x09\x09\x09\x09(aCollection at: i) = each ifFalse: [^false]].\x0a\x09^true",
 | 
	
		
			
				|  |  | -messageSends: ["ifFalse:", "and:", "=", "size", "class", "withIndexDo:", "at:"],
 | 
	
		
			
				|  |  | +messageSends: ["ifFalse:", "and:", "=", "class", "size", "withIndexDo:", "at:"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.SequenceableCollection);
 | 
	
	
		
			
				|  | @@ -2288,13 +2288,13 @@ newCollection=_st(self._class())._new_(_st(range)._size());
 | 
	
		
			
				|  |  |  _st(range)._withIndexDo_((function(each,i){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(newCollection)._at_put_(i,self._at_(each));
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each,i:i},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({each:each,i:i},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  $1=newCollection;
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"copyFrom:to:",{anIndex:anIndex,anotherIndex:anotherIndex,range:range,newCollection:newCollection},smalltalk.SequenceableCollection)})},
 | 
	
		
			
				|  |  |  args: ["anIndex", "anotherIndex"],
 | 
	
		
			
				|  |  |  source: "copyFrom: anIndex to: anotherIndex\x0a\x09| range newCollection |\x0a\x09range := anIndex to: anotherIndex.\x0a\x09newCollection := self class new: range size.\x0a\x09range withIndexDo: [:each :i |\x0a\x09\x09newCollection at: i put: (self at: each)].\x0a\x09^newCollection",
 | 
	
		
			
				|  |  | -messageSends: ["to:", "new:", "size", "class", "withIndexDo:", "at:put:", "at:"],
 | 
	
		
			
				|  |  | +messageSends: ["to:", "new:", "class", "size", "withIndexDo:", "at:put:", "at:"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.SequenceableCollection);
 | 
	
	
		
			
				|  | @@ -2312,13 +2312,13 @@ newCollection=_st(self._class())._new_(self._size());
 | 
	
		
			
				|  |  |  self._withIndexDo_((function(each,index){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(newCollection)._at_put_(index,_st(each)._deepCopy());
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each,index:index},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({each:each,index:index},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  $1=newCollection;
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"deepCopy",{newCollection:newCollection},smalltalk.SequenceableCollection)})},
 | 
	
		
			
				|  |  |  args: [],
 | 
	
		
			
				|  |  |  source: "deepCopy\x0a\x09| newCollection |\x0a\x09newCollection := self class new: self size.\x0a\x09self withIndexDo: [:each :index |\x0a\x09\x09newCollection at: index put: each deepCopy].\x0a\x09^newCollection",
 | 
	
		
			
				|  |  | -messageSends: ["new:", "size", "class", "withIndexDo:", "at:put:", "deepCopy"],
 | 
	
		
			
				|  |  | +messageSends: ["new:", "class", "size", "withIndexDo:", "at:put:", "deepCopy"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.SequenceableCollection);
 | 
	
	
		
			
				|  | @@ -2425,7 +2425,7 @@ var $1;
 | 
	
		
			
				|  |  |  $1=_st(self._indexOf_ifAbsent_(anObject,(function(){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return nil;
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})))._notNil();
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})})))._notNil();
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"includes:",{anObject:anObject},smalltalk.SequenceableCollection)})},
 | 
	
		
			
				|  |  |  args: ["anObject"],
 | 
	
	
		
			
				|  | @@ -2467,7 +2467,7 @@ var $1;
 | 
	
		
			
				|  |  |  $1=self._indexOf_startingAt_ifAbsent_(anObject,start,(function(){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return (0);
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"indexOf:startingAt:",{anObject:anObject,start:start},smalltalk.SequenceableCollection)})},
 | 
	
		
			
				|  |  |  args: ["anObject", "start"],
 | 
	
	
		
			
				|  | @@ -2617,13 +2617,13 @@ newCollection=_st(self._class())._new_(self._size());
 | 
	
		
			
				|  |  |  self._withIndexDo_((function(each,index){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(newCollection)._at_put_(index,each);
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each,index:index},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({each:each,index:index},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  $1=newCollection;
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"shallowCopy",{newCollection:newCollection},smalltalk.SequenceableCollection)})},
 | 
	
		
			
				|  |  |  args: [],
 | 
	
		
			
				|  |  |  source: "shallowCopy\x0a\x09| newCollection |\x0a\x09newCollection := self class new: self size.\x0a\x09self withIndexDo: [ :each :index |\x0a\x09\x09newCollection at: index put: each].\x0a\x09^newCollection",
 | 
	
		
			
				|  |  | -messageSends: ["new:", "size", "class", "withIndexDo:", "at:put:"],
 | 
	
		
			
				|  |  | +messageSends: ["new:", "class", "size", "withIndexDo:", "at:put:"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.SequenceableCollection);
 | 
	
	
		
			
				|  | @@ -2768,7 +2768,7 @@ return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"streamContents:",{aBlock:aBlock,stream:stream},smalltalk.SequenceableCollection.klass)})},
 | 
	
		
			
				|  |  |  args: ["aBlock"],
 | 
	
		
			
				|  |  |  source: "streamContents: aBlock\x0a\x09| stream |\x0a\x09stream := (self streamClass on: self new).\x0a\x09aBlock value: stream.\x0a\x09^ stream contents",
 | 
	
		
			
				|  |  | -messageSends: ["on:", "new", "streamClass", "value:", "contents"],
 | 
	
		
			
				|  |  | +messageSends: ["on:", "streamClass", "new", "value:", "contents"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.SequenceableCollection.klass);
 | 
	
	
		
			
				|  | @@ -2819,7 +2819,7 @@ var $1;
 | 
	
		
			
				|  |  |  $1=_st("[".__comma(_st(self._collect_((function(each){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(each)._asJavascript();
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})))._join_(", "))).__comma("]");
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})})))._join_(", "))).__comma("]");
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"asJavascript",{},smalltalk.Array)})},
 | 
	
		
			
				|  |  |  args: [],
 | 
	
	
		
			
				|  | @@ -2924,10 +2924,10 @@ _st(aStream)._nextPutAll_(" (");
 | 
	
		
			
				|  |  |  self._do_separatedBy_((function(each){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(each)._printOn_(aStream);
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})}),(function(){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(aStream)._nextPutAll_(" ");
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)})}));
 | 
	
		
			
				|  |  |  _st(aStream)._nextPutAll_(")");
 | 
	
		
			
				|  |  |  return self}, function($ctx1) {$ctx1.fill(self,"printOn:",{aStream:aStream},smalltalk.Array)})},
 | 
	
		
			
				|  |  |  args: ["aStream"],
 | 
	
	
		
			
				|  | @@ -3238,7 +3238,7 @@ return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  _st(instance)._at_put_(index,each);
 | 
	
		
			
				|  |  |  index=_st(index).__plus((1));
 | 
	
		
			
				|  |  |  return index;
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  $1=instance;
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"withAll:",{aCollection:aCollection,instance:instance,index:index},smalltalk.Array.klass)})},
 | 
	
	
		
			
				|  | @@ -3299,7 +3299,7 @@ return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"asLowercase",{},smalltalk.CharacterArray)})},
 | 
	
		
			
				|  |  |  args: [],
 | 
	
		
			
				|  |  |  source: "asLowercase\x0a\x09^self class fromString: self asString asLowercase",
 | 
	
		
			
				|  |  | -messageSends: ["fromString:", "asLowercase", "asString", "class"],
 | 
	
		
			
				|  |  | +messageSends: ["fromString:", "class", "asLowercase", "asString"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.CharacterArray);
 | 
	
	
		
			
				|  | @@ -3371,7 +3371,7 @@ return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"asUppercase",{},smalltalk.CharacterArray)})},
 | 
	
		
			
				|  |  |  args: [],
 | 
	
		
			
				|  |  |  source: "asUppercase\x0a\x09^self class fromString: self asString asUppercase",
 | 
	
		
			
				|  |  | -messageSends: ["fromString:", "asUppercase", "asString", "class"],
 | 
	
		
			
				|  |  | +messageSends: ["fromString:", "class", "asUppercase", "asString"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.CharacterArray);
 | 
	
	
		
			
				|  | @@ -3669,7 +3669,7 @@ return $3;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"asMutator",{},smalltalk.String)})},
 | 
	
		
			
				|  |  |  args: [],
 | 
	
		
			
				|  |  |  source: "asMutator\x0a\x09\x22Answer a setter selector. For example,\x0a\x09#name asMutator returns #name:\x22\x0a\x0a\x09self last = ':' ifFalse: [  ^ self, ':' ].\x0a\x09^ self",
 | 
	
		
			
				|  |  | -messageSends: ["ifFalse:", ",", "=", "last"],
 | 
	
		
			
				|  |  | +messageSends: ["ifFalse:", "=", "last", ","],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.String);
 | 
	
	
		
			
				|  | @@ -3874,7 +3874,7 @@ return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"crlfSanitized",{},smalltalk.String)})},
 | 
	
		
			
				|  |  |  args: [],
 | 
	
		
			
				|  |  |  source: "crlfSanitized\x0a\x09^self lines join: String lf",
 | 
	
		
			
				|  |  | -messageSends: ["join:", "lf", "lines"],
 | 
	
		
			
				|  |  | +messageSends: ["join:", "lines", "lf"],
 | 
	
		
			
				|  |  |  referencedClasses: ["String"]
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.String);
 | 
	
	
		
			
				|  | @@ -3988,12 +3988,12 @@ var $1;
 | 
	
		
			
				|  |  |  $1=_st(_st(self._size()).__eq((1)))._and_((function(){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return "aeiou"._includes_(self._asLowercase());
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"isVowel",{},smalltalk.String)})},
 | 
	
		
			
				|  |  |  args: [],
 | 
	
		
			
				|  |  |  source: "isVowel\x0a\x09\x22Answer true if the receiver is a one character string containing a voyel\x22\x0a\x09\x0a\x09^ self size = 1 and: [ 'aeiou' includes: self asLowercase ]",
 | 
	
		
			
				|  |  | -messageSends: ["and:", "includes:", "asLowercase", "=", "size"],
 | 
	
		
			
				|  |  | +messageSends: ["and:", "=", "size", "includes:", "asLowercase"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.String);
 | 
	
	
		
			
				|  | @@ -4012,11 +4012,11 @@ return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(aCollection)._do_separatedBy_((function(each){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx3) {
 | 
	
		
			
				|  |  |  return _st(stream)._nextPutAll_(_st(each)._asString());
 | 
	
		
			
				|  |  | -}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx2)})}),(function(){
 | 
	
		
			
				|  |  | +}, function($ctx3) {$ctx3.fillBlock({each:each},$ctx2,2)})}),(function(){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx3) {
 | 
	
		
			
				|  |  |  return _st(stream)._nextPutAll_(self);
 | 
	
		
			
				|  |  | -}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx3) {$ctx3.fillBlock({},$ctx2,3)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"join:",{aCollection:aCollection},smalltalk.String)})},
 | 
	
		
			
				|  |  |  args: ["aCollection"],
 | 
	
	
		
			
				|  | @@ -4047,12 +4047,12 @@ nextLF=self._indexOf_startingAt_(lf,(1));
 | 
	
		
			
				|  |  |  _st((function(){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(start).__lt_eq(sz);
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue_((function(){
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})}))._whileTrue_((function(){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  $1=_st(_st(nextLF).__eq((0)))._and_((function(){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx3) {
 | 
	
		
			
				|  |  |  return _st(nextCR).__eq((0));
 | 
	
		
			
				|  |  | -}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 | 
	
		
			
				|  |  | +}, function($ctx3) {$ctx3.fillBlock({},$ctx2,3)})}));
 | 
	
		
			
				|  |  |  if(smalltalk.assert($1)){
 | 
	
		
			
				|  |  |  _st(aBlock)._value_value_value_(start,sz,sz);
 | 
	
		
			
				|  |  |  $2=self;
 | 
	
	
		
			
				|  | @@ -4063,8 +4063,8 @@ return smalltalk.withContext(function($ctx3) {
 | 
	
		
			
				|  |  |  return _st((0).__lt(nextLF))._and_((function(){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx4) {
 | 
	
		
			
				|  |  |  return _st(nextLF).__lt(nextCR);
 | 
	
		
			
				|  |  | -}, function($ctx4) {$ctx4.fillBlock({},$ctx3)})}));
 | 
	
		
			
				|  |  | -}, function($ctx3) {$ctx3.fillBlock({},$ctx2)})}));
 | 
	
		
			
				|  |  | +}, function($ctx4) {$ctx4.fillBlock({},$ctx3,6)})}));
 | 
	
		
			
				|  |  | +}, function($ctx3) {$ctx3.fillBlock({},$ctx2,5)})}));
 | 
	
		
			
				|  |  |  if(smalltalk.assert($3)){
 | 
	
		
			
				|  |  |  _st(aBlock)._value_value_value_(start,_st(nextLF).__minus((1)),nextLF);
 | 
	
		
			
				|  |  |  start=(1).__plus(nextLF);
 | 
	
	
		
			
				|  | @@ -4089,13 +4089,13 @@ nextCR=self._indexOf_startingAt_(cr,start);
 | 
	
		
			
				|  |  |  return nextCR;
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)})}));
 | 
	
		
			
				|  |  |  return self}
 | 
	
		
			
				|  |  |  catch(e) {if(e===$early)return e[0]; throw e}
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"lineIndicesDo:",{aBlock:aBlock,cr:cr,lf:lf,start:start,sz:sz,nextLF:nextLF,nextCR:nextCR},smalltalk.String)})},
 | 
	
		
			
				|  |  |  args: ["aBlock"],
 | 
	
		
			
				|  |  |  source: "lineIndicesDo: aBlock\x0a\x09\x22execute aBlock with 3 arguments for each line:\x0a\x09- start index of line\x0a\x09- end index of line without line delimiter\x0a\x09- end index of line including line delimiter(s) CR, LF or CRLF\x22\x0a\x09\x0a\x09| cr lf start sz nextLF nextCR |\x0a\x09start := 1.\x0a\x09sz := self size.\x0a\x09cr := String cr.\x0a\x09nextCR := self indexOf: cr startingAt: 1.\x0a\x09lf := String lf.\x0a\x09nextLF := self indexOf: lf startingAt: 1.\x0a\x09[ start <= sz ] whileTrue: [\x0a\x09\x09(nextLF = 0 and: [ nextCR = 0 ])\x0a\x09\x09\x09ifTrue: [ \x22No more CR, nor LF, the string is over\x22\x0a\x09\x09\x09\x09\x09aBlock value: start value: sz value: sz.\x0a\x09\x09\x09\x09\x09^self ].\x0a\x09\x09(nextCR = 0 or: [ 0 < nextLF and: [ nextLF < nextCR ] ])\x0a\x09\x09\x09ifTrue: [ \x22Found a LF\x22\x0a\x09\x09\x09\x09\x09aBlock value: start value: nextLF - 1 value: nextLF.\x0a\x09\x09\x09\x09\x09start := 1 + nextLF.\x0a\x09\x09\x09\x09\x09nextLF := self indexOf: lf startingAt: start ]\x0a\x09\x09\x09ifFalse: [ 1 + nextCR = nextLF\x0a\x09\x09\x09\x09ifTrue: [ \x22Found a CR-LF pair\x22\x0a\x09\x09\x09\x09\x09aBlock value: start value: nextCR - 1 value: nextLF.\x0a\x09\x09\x09\x09\x09start := 1 + nextLF.\x0a\x09\x09\x09\x09\x09nextCR := self indexOf: cr startingAt: start.\x0a\x09\x09\x09\x09\x09nextLF := self indexOf: lf startingAt: start ]\x0a\x09\x09\x09\x09ifFalse: [ \x22Found a CR\x22\x0a\x09\x09\x09\x09\x09aBlock value: start value: nextCR - 1 value: nextCR.\x0a\x09\x09\x09\x09\x09start := 1 + nextCR.\x0a\x09\x09\x09\x09\x09nextCR := self indexOf: cr startingAt: start ]]]",
 | 
	
		
			
				|  |  | -messageSends: ["size", "cr", "indexOf:startingAt:", "lf", "whileTrue:", "ifTrue:", "value:value:value:", "and:", "=", "ifTrue:ifFalse:", "-", "+", "or:", "<", "<="],
 | 
	
		
			
				|  |  | +messageSends: ["size", "cr", "indexOf:startingAt:", "lf", "whileTrue:", "<=", "ifTrue:", "and:", "=", "value:value:value:", "ifTrue:ifFalse:", "or:", "<", "-", "+"],
 | 
	
		
			
				|  |  |  referencedClasses: ["String"]
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.String);
 | 
	
	
		
			
				|  | @@ -4120,14 +4120,14 @@ if(smalltalk.assert($1)){
 | 
	
		
			
				|  |  |  $2=self._copyFrom_to_(start,endWithoutDelimiters);
 | 
	
		
			
				|  |  |  throw $early=[$2];
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({start:start,endWithoutDelimiters:endWithoutDelimiters,end:end},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({start:start,endWithoutDelimiters:endWithoutDelimiters,end:end},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  return nil;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  catch(e) {if(e===$early)return e[0]; throw e}
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"lineNumber:",{anIndex:anIndex,lineCount:lineCount},smalltalk.String)})},
 | 
	
		
			
				|  |  |  args: ["anIndex"],
 | 
	
		
			
				|  |  |  source: "lineNumber: anIndex\x0a\x09\x22Answer a string containing the characters in the given line number.\x22\x0a\x0a\x09| lineCount |\x0a\x09lineCount := 0.\x0a\x09self lineIndicesDo: [:start :endWithoutDelimiters :end |\x0a\x09\x09(lineCount := lineCount + 1) = anIndex ifTrue: [^self copyFrom: start to: endWithoutDelimiters]].\x0a\x09^nil",
 | 
	
		
			
				|  |  | -messageSends: ["lineIndicesDo:", "ifTrue:", "copyFrom:to:", "=", "+"],
 | 
	
		
			
				|  |  | +messageSends: ["lineIndicesDo:", "ifTrue:", "=", "+", "copyFrom:to:"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.String);
 | 
	
	
		
			
				|  | @@ -4146,7 +4146,7 @@ lines=_st($Array())._new();
 | 
	
		
			
				|  |  |  self._linesDo_((function(aLine){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(lines)._add_(aLine);
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({aLine:aLine},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({aLine:aLine},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  $1=lines;
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"lines",{lines:lines},smalltalk.String)})},
 | 
	
	
		
			
				|  | @@ -4167,7 +4167,7 @@ return smalltalk.withContext(function($ctx1) {
 | 
	
		
			
				|  |  |  self._lineIndicesDo_((function(start,endWithoutDelimiters,end){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(aBlock)._value_(self._copyFrom_to_(start,endWithoutDelimiters));
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({start:start,endWithoutDelimiters:endWithoutDelimiters,end:end},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({start:start,endWithoutDelimiters:endWithoutDelimiters,end:end},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  return self}, function($ctx1) {$ctx1.fill(self,"linesDo:",{aBlock:aBlock},smalltalk.String)})},
 | 
	
		
			
				|  |  |  args: ["aBlock"],
 | 
	
		
			
				|  |  |  source: "linesDo: aBlock\x0a\x09\x22Execute aBlock with each line in this string. The terminating line\x0a\x09delimiters CR, LF or CRLF pairs are not included in what is passed to aBlock\x22\x0a\x0a\x09self lineIndicesDo: [:start :endWithoutDelimiters :end |\x0a\x09\x09aBlock value: (self copyFrom: start to: endWithoutDelimiters)]",
 | 
	
	
		
			
				|  | @@ -4634,7 +4634,7 @@ return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  result=self._random();
 | 
	
		
			
				|  |  |  result;
 | 
	
		
			
				|  |  |  return _st(aString)._includesSubString_(result);
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileTrue();
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})}))._whileTrue();
 | 
	
		
			
				|  |  |  $1=result;
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"randomNotIn:",{aString:aString,result:result},smalltalk.String.klass)})},
 | 
	
	
		
			
				|  | @@ -4739,7 +4739,7 @@ $3=_st(aCollection)._includes_(each);
 | 
	
		
			
				|  |  |  if(! smalltalk.assert($3)){
 | 
	
		
			
				|  |  |  throw $early=[false];
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,3)})}));
 | 
	
		
			
				|  |  |  return true;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  catch(e) {if(e===$early)return e[0]; throw e}
 | 
	
	
		
			
				|  | @@ -4807,7 +4807,7 @@ return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"collect:",{aBlock:aBlock},smalltalk.Set)})},
 | 
	
		
			
				|  |  |  args: ["aBlock"],
 | 
	
		
			
				|  |  |  source: "collect: aBlock\x0a\x09^self class withAll: (elements collect: aBlock)",
 | 
	
		
			
				|  |  | -messageSends: ["withAll:", "collect:", "class"],
 | 
	
		
			
				|  |  | +messageSends: ["withAll:", "class", "collect:"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.Set);
 | 
	
	
		
			
				|  | @@ -4893,10 +4893,10 @@ _st(aStream)._nextPutAll_(" (");
 | 
	
		
			
				|  |  |  self._do_separatedBy_((function(each){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(each)._printOn_(aStream);
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}),(function(){
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})}),(function(){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(aStream)._nextPutAll_(" ");
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)})}));
 | 
	
		
			
				|  |  |  _st(aStream)._nextPutAll_(")");
 | 
	
		
			
				|  |  |  return self}, function($ctx1) {$ctx1.fill(self,"printOn:",{aStream:aStream},smalltalk.Set)})},
 | 
	
		
			
				|  |  |  args: ["aStream"],
 | 
	
	
		
			
				|  | @@ -4954,13 +4954,13 @@ $1=_st(aBlock)._value_(each);
 | 
	
		
			
				|  |  |  if(smalltalk.assert($1)){
 | 
	
		
			
				|  |  |  return _st(collection)._add_(each);
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  $2=collection;
 | 
	
		
			
				|  |  |  return $2;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"select:",{aBlock:aBlock,collection:collection},smalltalk.Set)})},
 | 
	
		
			
				|  |  |  args: ["aBlock"],
 | 
	
		
			
				|  |  |  source: "select: aBlock\x0a\x09| collection |\x0a\x09collection := self class new.\x0a\x09self do: [:each |\x0a\x09\x09(aBlock value: each) ifTrue: [\x0a\x09\x09\x09collection add: each]].\x0a\x09^collection",
 | 
	
		
			
				|  |  | -messageSends: ["new", "class", "do:", "ifTrue:", "add:", "value:"],
 | 
	
		
			
				|  |  | +messageSends: ["new", "class", "do:", "ifTrue:", "value:", "add:"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.Set);
 | 
	
	
		
			
				|  | @@ -5018,7 +5018,7 @@ var $1;
 | 
	
		
			
				|  |  |  $1=self._nextIfAbsent_((function(){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return self._error_("Cannot read from empty Queue.");
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"next",{},smalltalk.Queue)})},
 | 
	
		
			
				|  |  |  args: [],
 | 
	
	
		
			
				|  | @@ -5061,7 +5061,7 @@ self["@readIndex"];
 | 
	
		
			
				|  |  |  self["@write"]=_st($OrderedCollection())._new();
 | 
	
		
			
				|  |  |  self["@write"];
 | 
	
		
			
				|  |  |  return _st(self["@read"])._first();
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  _st(self["@read"])._at_put_(self["@readIndex"],nil);
 | 
	
		
			
				|  |  |  self["@readIndex"]=_st(self["@readIndex"]).__plus((1));
 | 
	
		
			
				|  |  |  $4=result;
 | 
	
	
		
			
				|  | @@ -5071,7 +5071,7 @@ catch(e) {if(e===$early)return e[0]; throw e}
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"nextIfAbsent:",{aBlock:aBlock,result:result},smalltalk.Queue)})},
 | 
	
		
			
				|  |  |  args: ["aBlock"],
 | 
	
		
			
				|  |  |  source: "nextIfAbsent: aBlock\x0a\x09| result |\x0a\x09result := read at: readIndex ifAbsent: [\x0a\x09\x09write isEmpty ifTrue: [\x0a\x09\x09\x09readIndex > 1 ifTrue: [ read := #(). readIndex := 1 ].\x0a\x09\x09\x09^aBlock value ].\x0a\x09\x09read := write.\x0a\x09\x09readIndex := 1.\x0a\x09\x09write := OrderedCollection new.\x0a\x09\x09read first ].\x0a\x09read at: readIndex put: nil.\x0a\x09readIndex := readIndex + 1.\x0a\x09^result",
 | 
	
		
			
				|  |  | -messageSends: ["at:ifAbsent:", "ifTrue:", ">", "value", "isEmpty", "new", "first", "at:put:", "+"],
 | 
	
		
			
				|  |  | +messageSends: ["at:ifAbsent:", "ifTrue:", "isEmpty", ">", "value", "new", "first", "at:put:", "+"],
 | 
	
		
			
				|  |  |  referencedClasses: ["OrderedCollection"]
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.Queue);
 | 
	
	
		
			
				|  | @@ -5211,7 +5211,7 @@ return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"atEnd",{},smalltalk.Stream)})},
 | 
	
		
			
				|  |  |  args: [],
 | 
	
		
			
				|  |  |  source: "atEnd\x0a\x09^self position = self size",
 | 
	
		
			
				|  |  | -messageSends: ["=", "size", "position"],
 | 
	
		
			
				|  |  | +messageSends: ["=", "position", "size"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.Stream);
 | 
	
	
		
			
				|  | @@ -5280,7 +5280,7 @@ return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"contents",{},smalltalk.Stream)})},
 | 
	
		
			
				|  |  |  args: [],
 | 
	
		
			
				|  |  |  source: "contents\x0a\x09^self collection\x0a\x09\x09copyFrom: 1\x0a\x09\x09to: self streamSize",
 | 
	
		
			
				|  |  | -messageSends: ["copyFrom:to:", "streamSize", "collection"],
 | 
	
		
			
				|  |  | +messageSends: ["copyFrom:to:", "collection", "streamSize"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.Stream);
 | 
	
	
		
			
				|  | @@ -5295,14 +5295,14 @@ return smalltalk.withContext(function($ctx1) {
 | 
	
		
			
				|  |  |  _st((function(){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return self._atEnd();
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._whileFalse_((function(){
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})}))._whileFalse_((function(){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return _st(aBlock)._value_(self._next());
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)})}));
 | 
	
		
			
				|  |  |  return self}, function($ctx1) {$ctx1.fill(self,"do:",{aBlock:aBlock},smalltalk.Stream)})},
 | 
	
		
			
				|  |  |  args: ["aBlock"],
 | 
	
		
			
				|  |  |  source: "do: aBlock\x0a\x09[self atEnd] whileFalse: [aBlock value: self next]",
 | 
	
		
			
				|  |  | -messageSends: ["whileFalse:", "value:", "next", "atEnd"],
 | 
	
		
			
				|  |  | +messageSends: ["whileFalse:", "atEnd", "value:", "next"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.Stream);
 | 
	
	
		
			
				|  | @@ -5359,7 +5359,7 @@ return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"next",{},smalltalk.Stream)})},
 | 
	
		
			
				|  |  |  args: [],
 | 
	
		
			
				|  |  |  source: "next\x0a\x09^self atEnd\x0a\x09\x09ifTrue: [nil]\x0a\x09\x09ifFalse: [\x0a\x09\x09\x09self position: self position + 1.\x0a\x09\x09\x09collection at: self position]",
 | 
	
		
			
				|  |  | -messageSends: ["ifTrue:ifFalse:", "position:", "+", "position", "at:", "atEnd"],
 | 
	
		
			
				|  |  | +messageSends: ["ifTrue:ifFalse:", "atEnd", "position:", "+", "position", "at:"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.Stream);
 | 
	
	
		
			
				|  | @@ -5380,13 +5380,13 @@ $1=self._atEnd();
 | 
	
		
			
				|  |  |  if(! smalltalk.assert($1)){
 | 
	
		
			
				|  |  |  return _st(tempCollection)._add_(self._next());
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  $2=tempCollection;
 | 
	
		
			
				|  |  |  return $2;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"next:",{anInteger:anInteger,tempCollection:tempCollection},smalltalk.Stream)})},
 | 
	
		
			
				|  |  |  args: ["anInteger"],
 | 
	
		
			
				|  |  |  source: "next: anInteger\x0a\x09| tempCollection |\x0a\x09tempCollection := self collection class new.\x0a\x09anInteger timesRepeat: [\x0a\x09\x09self atEnd ifFalse: [\x0a\x09\x09tempCollection add: self next]].\x0a\x09^tempCollection",
 | 
	
		
			
				|  |  | -messageSends: ["new", "class", "collection", "timesRepeat:", "ifFalse:", "add:", "next", "atEnd"],
 | 
	
		
			
				|  |  | +messageSends: ["new", "class", "collection", "timesRepeat:", "ifFalse:", "atEnd", "add:", "next"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.Stream);
 | 
	
	
		
			
				|  | @@ -5419,7 +5419,7 @@ return smalltalk.withContext(function($ctx1) {
 | 
	
		
			
				|  |  |  _st(aCollection)._do_((function(each){
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  return self._nextPut_(each);
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  return self}, function($ctx1) {$ctx1.fill(self,"nextPutAll:",{aCollection:aCollection},smalltalk.Stream)})},
 | 
	
		
			
				|  |  |  args: ["aCollection"],
 | 
	
		
			
				|  |  |  source: "nextPutAll: aCollection\x0a\x09aCollection do: [:each |\x0a\x09\x09self nextPut: each]",
 | 
	
	
		
			
				|  | @@ -5460,7 +5460,7 @@ return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"peek",{},smalltalk.Stream)})},
 | 
	
		
			
				|  |  |  args: [],
 | 
	
		
			
				|  |  |  source: "peek\x0a\x09^self atEnd ifFalse: [\x0a\x09\x09self collection at: self position + 1]",
 | 
	
		
			
				|  |  | -messageSends: ["ifFalse:", "at:", "+", "position", "collection", "atEnd"],
 | 
	
		
			
				|  |  | +messageSends: ["ifFalse:", "atEnd", "at:", "collection", "+", "position"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.Stream);
 | 
	
	
		
			
				|  | @@ -5615,7 +5615,7 @@ self._position_(_st(_st(self._position()).__plus(anInteger))._min_max_(self._siz
 | 
	
		
			
				|  |  |  return self}, function($ctx1) {$ctx1.fill(self,"skip:",{anInteger:anInteger},smalltalk.Stream)})},
 | 
	
		
			
				|  |  |  args: ["anInteger"],
 | 
	
		
			
				|  |  |  source: "skip: anInteger\x0a\x09self position: ((self position + anInteger) min: self size max: 0)",
 | 
	
		
			
				|  |  | -messageSends: ["position:", "min:max:", "size", "+", "position"],
 | 
	
		
			
				|  |  | +messageSends: ["position:", "min:max:", "+", "position", "size"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.Stream);
 | 
	
	
		
			
				|  | @@ -5754,13 +5754,13 @@ if(! smalltalk.assert($1)){
 | 
	
		
			
				|  |  |  tempCollection=_st(tempCollection).__comma(self._next());
 | 
	
		
			
				|  |  |  return tempCollection;
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  | -}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
 | 
	
		
			
				|  |  | +}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})}));
 | 
	
		
			
				|  |  |  $2=tempCollection;
 | 
	
		
			
				|  |  |  return $2;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"next:",{anInteger:anInteger,tempCollection:tempCollection},smalltalk.StringStream)})},
 | 
	
		
			
				|  |  |  args: ["anInteger"],
 | 
	
		
			
				|  |  |  source: "next: anInteger\x0a\x09| tempCollection |\x0a\x09tempCollection := self collection class new.\x0a\x09anInteger timesRepeat: [\x0a\x09\x09self atEnd ifFalse: [\x0a\x09\x09tempCollection := tempCollection, self next]].\x0a\x09^tempCollection",
 | 
	
		
			
				|  |  | -messageSends: ["new", "class", "collection", "timesRepeat:", "ifFalse:", ",", "next", "atEnd"],
 | 
	
		
			
				|  |  | +messageSends: ["new", "class", "collection", "timesRepeat:", "ifFalse:", "atEnd", ",", "next"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.StringStream);
 | 
	
	
		
			
				|  | @@ -5805,7 +5805,7 @@ self._setStreamSize_(_st(self._streamSize())._max_(self._position()));
 | 
	
		
			
				|  |  |  return self}, function($ctx1) {$ctx1.fill(self,"nextPutAll:",{aString:aString,pre:pre,post:post},smalltalk.StringStream)})},
 | 
	
		
			
				|  |  |  args: ["aString"],
 | 
	
		
			
				|  |  |  source: "nextPutAll: aString\x0a\x09| pre post |\x0a\x09self atEnd ifTrue: [ self setCollection: self collection, aString ] ifFalse: [\x0a\x09\x09pre := self collection copyFrom: 1 to: self position.\x0a\x09\x09post := self collection copyFrom: (self position + 1 + aString size) to: self collection size.\x0a\x09\x09self setCollection: pre, aString, post\x0a\x09].\x0a\x09self position: self position + aString size.\x0a\x09self setStreamSize: (self streamSize max: self position)",
 | 
	
		
			
				|  |  | -messageSends: ["ifTrue:ifFalse:", "setCollection:", ",", "collection", "copyFrom:to:", "position", "+", "size", "atEnd", "position:", "setStreamSize:", "max:", "streamSize"],
 | 
	
		
			
				|  |  | +messageSends: ["ifTrue:ifFalse:", "atEnd", "setCollection:", ",", "collection", "copyFrom:to:", "position", "+", "size", "position:", "setStreamSize:", "max:", "streamSize"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.StringStream);
 |