| 
					
				 | 
			
			
				@@ -3548,11 +3548,13 @@ $ctx2.sendIdx["nextPutAll:"]=5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $17=self._nextPutAll_(_st(each)._asVariableName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.sendIdx["nextPutAll:"]=6; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $17; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,2)})}),(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,2)}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}),(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self._nextPutAll_(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.sendIdx["nextPutAll:"]=7; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx2) {$ctx2.fillBlock({},$ctx1,3)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx2) {$ctx2.fillBlock({},$ctx1,3)}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self._nextPutAll_("},"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["nextPutAll:"]=8; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $24=_st(anIRClosure)._scope(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3562,12 +3564,13 @@ $22=_st($23)._alias(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $21=_st($22).__comma(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $20=_st($21).__comma(_st(_st(_st(anIRClosure)._scope())._blockIndex())._asString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx[","]=7; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$19=_st($20).__comma(")})"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$19=_st($20).__comma(")});"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx[","]=6; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $18=self._nextPutAll_($19); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, function($ctx1) {$ctx1.fill(self,"nextPutBlockContextFor:during:",{anIRClosure:anIRClosure,aBlock:aBlock},globals.JSStream)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, function($ctx1) {$ctx1.fill(self,"nextPutBlockContextFor:during:",{anIRClosure:anIRClosure,aBlock:aBlock},globals.JSStream)}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["anIRClosure", "aBlock"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "nextPutBlockContextFor: anIRClosure during: aBlock\x0a\x09anIRClosure requiresSmalltalkContext ifFalse: [ ^ aBlock value ].\x0a\x09self\x0a\x09\x09nextPutAll: 'return smalltalk.withContext(function(', anIRClosure scope alias, ') {'; lf.\x0a\x09\x0a\x09aBlock value.\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '}, function(', anIRClosure scope alias, ') {';\x0a\x09\x09nextPutAll: anIRClosure scope alias, '.fillBlock({'.\x0a\x09\x0a\x09anIRClosure locals\x0a\x09\x09do: [ :each |\x0a\x09\x09\x09self\x0a\x09\x09\x09\x09nextPutAll: each asVariableName;\x0a\x09\x09\x09\x09nextPutAll: ':';\x0a\x09\x09\x09\x09nextPutAll: each asVariableName ]\x0a\x09\x09separatedBy: [ self nextPutAll: ',' ].\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '},';\x0a\x09\x09nextPutAll: anIRClosure scope outerScope alias, ',', anIRClosure scope blockIndex asString, ')})'", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "nextPutBlockContextFor: anIRClosure during: aBlock\x0a\x09anIRClosure requiresSmalltalkContext ifFalse: [ ^ aBlock value ].\x0a\x09self\x0a\x09\x09nextPutAll: 'return smalltalk.withContext(function(', anIRClosure scope alias, ') {'; lf.\x0a\x09\x0a\x09aBlock value.\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '}, function(', anIRClosure scope alias, ') {';\x0a\x09\x09nextPutAll: anIRClosure scope alias, '.fillBlock({'.\x0a\x09\x0a\x09anIRClosure locals\x0a\x09\x09do: [ :each |\x0a\x09\x09\x09self\x0a\x09\x09\x09\x09nextPutAll: each asVariableName;\x0a\x09\x09\x09\x09nextPutAll: ':';\x0a\x09\x09\x09\x09nextPutAll: each asVariableName ]\x0a\x09\x09separatedBy: [ self nextPutAll: ',' ].\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '},';\x0a\x09\x09nextPutAll: anIRClosure scope outerScope alias, ',', anIRClosure scope blockIndex asString, ')});'", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["ifFalse:", "requiresSmalltalkContext", "value", "nextPutAll:", ",", "alias", "scope", "lf", "do:separatedBy:", "locals", "asVariableName", "outerScope", "asString", "blockIndex"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3615,7 +3618,7 @@ protocol: 'streaming', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (aBlock,anArray){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $1,$2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1,$2,$3,$4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st(self["@stream"])._nextPutAll_("(function("); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["nextPutAll:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st(anArray)._do_separatedBy_((function(each){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3630,11 +3633,15 @@ $1=self["@stream"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st($1)._nextPutAll_("){"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["nextPutAll:"]=3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $2=_st($1)._lf(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx1.sendIdx["lf"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st(aBlock)._value(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(self["@stream"])._nextPutAll_("})"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, function($ctx1) {$ctx1.fill(self,"nextPutClosureWith:arguments:",{aBlock:aBlock,anArray:anArray},globals.JSStream)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$3=self["@stream"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($3)._lf(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$4=_st($3)._nextPutAll_("})"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, function($ctx1) {$ctx1.fill(self,"nextPutClosureWith:arguments:",{aBlock:aBlock,anArray:anArray},globals.JSStream)}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aBlock", "anArray"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "nextPutClosureWith: aBlock arguments: anArray\x0a\x09stream nextPutAll: '(function('.\x0a\x09anArray\x0a\x09\x09do: [ :each | stream nextPutAll: each asVariableName ]\x0a\x09\x09separatedBy: [ stream nextPut: ',' ].\x0a\x09stream nextPutAll: '){'; lf.\x0a\x09aBlock value.\x0a\x09stream nextPutAll: '})'", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "nextPutClosureWith: aBlock arguments: anArray\x0a\x09stream nextPutAll: '(function('.\x0a\x09anArray\x0a\x09\x09do: [ :each | stream nextPutAll: each asVariableName ]\x0a\x09\x09separatedBy: [ stream nextPut: ',' ].\x0a\x09stream nextPutAll: '){'; lf.\x0a\x09aBlock value.\x0a\x09stream lf; nextPutAll: '})'", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["nextPutAll:", "do:separatedBy:", "asVariableName", "nextPut:", "lf", "value"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3696,19 +3703,22 @@ $ctx2.sendIdx["nextPutAll:"]=5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $18=self._nextPutAll_(_st(each)._asVariableName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.sendIdx["nextPutAll:"]=6; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $18; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,2)})}),(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,2)}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}),(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self._nextPutAll_(","); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.sendIdx["nextPutAll:"]=7; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, function($ctx2) {$ctx2.fillBlock({},$ctx1,3)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, function($ctx2) {$ctx2.fillBlock({},$ctx1,3)}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self._nextPutAll_("},"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["nextPutAll:"]=8; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self._nextPutAll_(_st(_st(aMethod)._theClass())._asJavascript()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["nextPutAll:"]=9; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$19=self._nextPutAll_(")})"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, function($ctx1) {$ctx1.fill(self,"nextPutContextFor:during:",{aMethod:aMethod,aBlock:aBlock},globals.JSStream)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$19=self._nextPutAll_(")});"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, function($ctx1) {$ctx1.fill(self,"nextPutContextFor:during:",{aMethod:aMethod,aBlock:aBlock},globals.JSStream)}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aMethod", "aBlock"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "nextPutContextFor: aMethod during: aBlock\x0a\x09aMethod requiresSmalltalkContext ifFalse: [ ^ aBlock value ].\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: 'return smalltalk.withContext(function(', aMethod scope alias, ') { '; lf.\x0a\x09aBlock value.\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '}, function(', aMethod scope alias, ') {', aMethod scope alias;\x0a\x09\x09nextPutAll: '.fill(self,', aMethod selector asJavascript, ',{'.\x0a\x0a\x09aMethod locals\x0a\x09\x09do: [ :each |\x0a\x09\x09\x09self\x0a\x09\x09\x09\x09nextPutAll: each asVariableName;\x0a\x09\x09\x09\x09nextPutAll: ':';\x0a\x09\x09\x09\x09nextPutAll: each asVariableName ]\x0a\x09\x09separatedBy: [ self nextPutAll: ',' ].\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '},';\x0a\x09\x09nextPutAll: aMethod theClass asJavascript;\x0a\x09\x09nextPutAll: ')})'", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "nextPutContextFor: aMethod during: aBlock\x0a\x09aMethod requiresSmalltalkContext ifFalse: [ ^ aBlock value ].\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: 'return smalltalk.withContext(function(', aMethod scope alias, ') { '; lf.\x0a\x09aBlock value.\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '}, function(', aMethod scope alias, ') {', aMethod scope alias;\x0a\x09\x09nextPutAll: '.fill(self,', aMethod selector asJavascript, ',{'.\x0a\x0a\x09aMethod locals\x0a\x09\x09do: [ :each |\x0a\x09\x09\x09self\x0a\x09\x09\x09\x09nextPutAll: each asVariableName;\x0a\x09\x09\x09\x09nextPutAll: ':';\x0a\x09\x09\x09\x09nextPutAll: each asVariableName ]\x0a\x09\x09separatedBy: [ self nextPutAll: ',' ].\x0a\x09\x0a\x09self\x0a\x09\x09nextPutAll: '},';\x0a\x09\x09nextPutAll: aMethod theClass asJavascript;\x0a\x09\x09nextPutAll: ')});'", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["ifFalse:", "requiresSmalltalkContext", "value", "nextPutAll:", ",", "alias", "scope", "lf", "asJavascript", "selector", "do:separatedBy:", "locals", "asVariableName", "theClass"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3721,7 +3731,7 @@ protocol: 'streaming', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (aBlock,anArray){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $1,$2,$3,$4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1,$2,$3,$4,$5,$6; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st(self["@stream"])._nextPutAll_("fn: function("); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["nextPutAll:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st(anArray)._do_separatedBy_((function(each){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3741,11 +3751,14 @@ $3=self["@stream"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st($3)._nextPutAll_("var self=this;"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["nextPutAll:"]=4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $4=_st($3)._lf(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx1.sendIdx["lf"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st(aBlock)._value(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(self["@stream"])._nextPutAll_("}"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$5=self["@stream"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($5)._lf(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$6=_st($5)._nextPutAll_("}"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self}, function($ctx1) {$ctx1.fill(self,"nextPutFunctionWith:arguments:",{aBlock:aBlock,anArray:anArray},globals.JSStream)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aBlock", "anArray"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "nextPutFunctionWith: aBlock arguments: anArray\x0a\x09stream nextPutAll: 'fn: function('.\x0a\x09anArray\x0a\x09\x09do: [ :each | stream nextPutAll: each asVariableName ]\x0a\x09\x09separatedBy: [ stream nextPut: ',' ].\x0a\x09stream nextPutAll: '){'; lf.\x0a\x09stream nextPutAll: 'var self=this;'; lf.\x0a\x09aBlock value.\x0a\x09stream nextPutAll: '}'", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "nextPutFunctionWith: aBlock arguments: anArray\x0a\x09stream nextPutAll: 'fn: function('.\x0a\x09anArray\x0a\x09\x09do: [ :each | stream nextPutAll: each asVariableName ]\x0a\x09\x09separatedBy: [ stream nextPut: ',' ].\x0a\x09stream nextPutAll: '){'; lf.\x0a\x09stream nextPutAll: 'var self=this;'; lf.\x0a\x09aBlock value.\x0a\x09stream lf; nextPutAll: '}'", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["nextPutAll:", "do:separatedBy:", "asVariableName", "nextPut:", "lf", "value"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 |