bplist00 ^portAttributes_editorViewerWindow_frameworkVersionYrootPatchW_enable Tname[descriptionVEnable_ Controls execution of the patch._-1 508 580 520 0 0 1680 1028 U106.3%UstateUclassUnodes[connectionsXuserInfoXtimebaseIT'D] #'<HMSW\akGHSkey !"'(((+,CD_customInputPortStates\pixelAligned[CIRendering_optimizedRenderingWversion_ivarInputPortStatesXsizeMode_systemInputPortStates#$ZinputScale%&Uvalue#@O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}-./01#235789$?@ABBBBUgreenTblueSredUalpha"?ZautoHeightE%F [QCBillboard[Billboard_1JRSKLMN:O:POQ\advancedMode_showSamplerOptions\automaticDODZsourceCodeO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}q,_X/* A Core Image kernel routine that computes a multiply effect. The code looks up the source pixel in the sampler and then multiplies it by the value passed to the routine. */ kernel vec4 multiplyEffect(sampler image) { vec4 pixel=sample(image, samplerCoord(image)); vec4 mypixel=pixel.r>0.25?vec4(1.0,0.0,0.0,1.0):pixel; return mypixel; } ]QCImageKernel]ImageKernel_1U%&VWX"_publishedInputPorts_publishedOutputPortsY~Z|}[\]^_`abcdeFghiOj_verticalAlignmentUwidth_horizontalAlignment\manualLayoutXfontNameXfontSizeVheightXCenteredO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}p?XOpposite \LucidaGrande#@>klmnopqrtuwxyz[inputHeight^inputGlyphSize[inputString\inputLeading]inputFontName\inputKerningZinputWidth%s#@%h%vQ<%4%g%4%{#@[QCTextImage[TextImage_1Zidentifier]QCImageFilter_ImageTransform_2_inputTransform_ScaleY_inputTransform_OriginX_inputTransform_ScaleX_inputTransform_Rotate_inputTransform_OriginY_inputTransform_TranslateX%B%4%B%4%4%#%B%4%B%4%4%O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}d&_CIAffineTransformZrandomSeedT΋O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}΁ZinputPhase^inputAmplitude[inputOffsetYinputType]inputPWMRatio%4%#@o@%4%%#?VparentUQCLFOULFO_2[CheapBlur_1::OYhasBypass_normalizeCoordinates]filterVersion]inputSampling%BO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}?[CICheapBlurO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}[inputPeriod%4%#?333333%&%#@%%#?ULFO_3Zexpression[2-(time/50)O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name "2-(time/50)"positionNSValue* {_NSPoint=ff}W\QCExpression\Expression_2XinputMaxXinputMin%&%#?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}\QCRangeValue\RangeValue_1OYportClass\QCNumberPortO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name time_proxy_1positionNSValue* {_NSPoint=ff}<ZQCSplitterZSplitter_1O_inputInterpolation%O[inputRepeat[inputValue2[inputValue1]inputDuration\inputTension%O%%B%#@Y%4O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}$CXexternal_QCInterpolation_Interpolation_1  \connection_7\connection_2\connection_8\connection_4]connection_10\connection_3\connection_9\connection_1} _destinationPortZsourceNodeZsourcePort_destinationNodeZinputImage[outputImage  TtimeVoutput [outputValue[inputPasses U_time_inputTransform_TranslateYZinputValue\outputResultO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+ scrollingNSValue* {_NSPoint=ff}Á zoomFactorNSNumberfposition,name wall maker TnodeTport\time_proxy_1Uinput!Ow streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name time_proxy_1#$ _outputImage_proxy_1WQCPatchWPatch_1(%VW)e|}*/38JT\+-.,O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}WQCClockWClock_10O12]QCBooleanPortO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name Start SignalpositionNSValue* {_NSPoint=ff}4756S!a O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name"!a…"positionNSValue* {_NSPoint=ff}W\Expression_19|}[]^_`b:Ab(g=OCklpnq;<>?@%4%=#?%4%4%4O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}"klpnoq;<>?H@%4%=%4%4%g%4KRSLMOQ_keylessStructuresNO^inputSeparator%PQ.O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}d_QCStringComponents_StringComponents_1UVW[^QCStringFormat_StringFormat_printer_1XYZVformatYScore: %@O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name "Score: @1"positionNSValue* {_NSPoint=ff}Wprinter]^_d_QCStructureMember_StructureMember_index_1`cabZinputIndex%:O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}Uindexfghijloqsvxz]connection_12]connection_13]connection_14]connection_11k 7QamSn^^inputStructure_outputComponentsp7._inputStopSignalmVr}\outputStringt^uVZargument_1\outputMemberw ._inputResetSignalm.ySZoutputTime{ ._inputStartSignalO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+ scrollingNSValue* {_NSPoint=ff}N!Ãk?D zoomFactorNSNumberfe?position.name game timer~UstartOp streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namestart.y_outputTime_proxy_1^uUscoreOp streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namescore} ]score_displayOx streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name score displayWPatch_2%CVW9:A[ImageCrop_1_inputRectangle_X_inputRectangle_W_inputRectangle_Y_inputRectangle_Z%4%s%4%s%4%s%4%sO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}VCICrop\acOcF_accumulatorContinuouskq_inputDirtyOriginY_inputDirtyWidth_inputDirtyHeight_inputDirtyOriginX%c%4%c%4%4%4O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}t _QCImageAccumulator_ImageAccumulator_1_ImageTransform_1%B%4%B%B%4%BO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}d_AdditionCompositing_1::OO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}_CIAdditionCompositing<{O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}"%4%#@%=%4%:%ULFO_4O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}%4%#@%#@p%%:%ULFO_5T'O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}j%#@V%%%%:%ULFO_6vO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff} %4%%B%#%:%ULFO_7_ConstantColorGenerator_1::OO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}b_CIConstantColorGenerator_SourceAtopCompositing_1::OO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}c_CISourceAtopCompositing    [inputColor1[inputColor2% >?@A4444%>?@A444B%:O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}!\QCColorMixer\ColorMixer_1O1O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameGopositionNSValue* {_NSPoint=ff}ہYinputMode%:O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}J=WQCPulseWPulse_1 !"#$%&')*,./014678]connection_18]connection_21]connection_17\connection_5]connection_19\connection_6( _inputAccumulate + _inputBackgroundImage2-[outputColor  23XinputMix\outputSignal5 [inputSignal+  O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+ scrollingNSValue* {_NSPoint=ff}C zoomFactorNSNumberfposition,name wall screen;=<_inputImage_proxy_1>?RGo@Om streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameGoB$ WPatch_3E[\FG:Z\antialiasingHIJkKLq21MNOPQSTUVXYWinputRZWinputRY\inputZBufferVinputZWinputRX\inputCulling%4%4%O%R#?333333%4%4%=%W>?@ABBBB%O%:O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}AXQCSpriteXSprite_1^%VW_`gz~aefbcdTkeysHO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff} ZQCKeyboardZKeyboard_1h|}[]^_`biob(g=Oqklpnqjklmn%4%=%4%4%4O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}Sklmnopqjktmwln%4%=%uQ>%4%g%4%4{7|}Yu?scale:0O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name "u?scale:0"positionNSValue* {_NSPoint=ff}lYd?scale:0O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name "d?scale:0"positionNSValue* {_NSPoint=ff}m.O%#?zG{O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namescalepositionNSValue* {_NSPoint=ff}Uy-d+uO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name"y-d+u"positionNSValue* {_NSPoint=ff}\Expression_3O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}?Yl?scale:0O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name "l?scale:0"positionNSValue* {_NSPoint=ff}l\Expression_4Yr?scale:0O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name "r?scale:0"positionNSValue* {_NSPoint=ff}m\Expression_5Ux-l+rO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name"x-l+r"positionNSValue* {_NSPoint=ff}\Expression_6O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}\RangeValue_2V-rangeO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name"-range"positionNSValue* {_NSPoint=ff}j\Expression_7O%#?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namerangepositionNSValue* {_NSPoint=ff}ZSplitter_2$f!g#i]connection_23]connection_15]connection_20]connection_26]connection_16]connection_24]connection_22]connection_27]connection_25]connection_28Qrf7QuXkey_F700 Uscale 7QxZoutputClip  UrangefQdXkey_F701fQlXkey_F702Qy   7fXkey_F703O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+ scrollingNSValue* {_NSPoint=ff}ID$D zoomFactorNSNumberfposition%O%Op streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namerange%Op streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namescale}$ Zy_positionOu streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name y positionZx_positionOu streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name x positionWPatch_4RKLMN::OOTmain_ /* DYNAMIC VARIABLES 1 - Vec (vector) Creation: "new Vec(number_0, number_1, ...)", take 2 to 4 numerical arguments, or "new Vec(vec)" (does a copy) Properties: x = r = 0, y = g = 1, z = b = 2 = width, w = a = 3 = height 2 - Shape (wrapper over CIFilterShape) Creation: "new Shape(number_0, number_1, number_2, number_3)" or "new Shape(shape)" (does a copy) Properties (all functions return a new Shape) - function intersect(shape) - function union(shape) - function inset(number_x, number_y) - function translate(number_0, number_1) - function scale(number_0, number_1) - function rotate(number_angle) 3 - AffineTransform (wrapper over NSAffineTransform) Creation: "new AffineTransform()" or "new AffineTransform(transform)" (does a copy) Properties returning a new transform: - function scale(scaleXY) or scale(scaleX, scaleY) - function translate(tX, tY) - function invert() - function rotateByDegrees(angle) - function rotateByRadians(angle) - function appendTransform(transform) - function prependTransform(transform) - function setTransformStruct(object) - object has properties m11, m12, ... of NSAffineTransformStruct Properties returning a vector of size 2: - function transformPoint(vector_size_2) - function transformSize(vector_size_2) Property returning an JavaScript object: - property transformStruct - an object with properties m11, m12, ... of NSAffineTransformStruct Settable property: - property transformStruct - takes an object with properties m11, m12, ... of NSAffineTransformStruct 4 - Image Creation: Not allowed. Properties: extent (a Vec of dimension 4), definition (a Shape) 5 - Kernel Creation: Not allowed. The kernels defined in the kernel window are automatically set in the JavaScript context as variables in the kernel name. Properties: - function apply(DOD, ROI_userInfo, arg_1, arg_2, ...) * DOD: A Vec of dimension 4, a Shape or "null" for infinite image * ROI_userInfo: An object that will be passed to the ROI function * arg_x: Arguments given to the kernel - ROIHandler * To set the ROI function * The ROI function, when called, will receive 3 arguments: samplerIndex (an int), dstRect (a Vec of dim 4), and info (passed to the apply function) Example: function myROIFunction(samplerIndex, dstRect, info) { return dstRect; } myKernel.ROIHandler = myROIFunction; STATIC VARIABLES Filter Properties: All Core Image filter under a real (e.g. CISepiaTone) or simplied name (e.g. sepiaTone) Returns a function to apply that filter. The arguments are taken in the order defined at: http://developer.apple.com/documentation/GraphicsImaging/Reference/CoreImageFilterReference Example: var sepiaImage = Filter.sepiaTone(image, 1.0); FUNCTION TO IMPLEMENT function [return_type] main([arg_type_0] arg_0, [arg_type_1] arg_1, ...) [arg_type_x] can be: __image, __vec2, __vec3, __vec4, __color, __number, __index [return_type] must be: __image Must return an image. Example of the "main" function associated to the first kernel in the kernel window and current parameters has been generated below: */ function __image main(__image image, __number x, __number y, __number size) { return collide.apply(image.definition, null, image, x, y, size); }O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}`Tsize%4_/* A Core Image kernel routine that computes a multiply effect. The code looks up the source pixel in the sampler and then multiplies it by the value passed to the routine. */ kernel bool collide(sampler image,float x,float y,float size) { //vec4 pixel=sample(image, samplerCoord(image)); vec4 pixel=sample(image, vec2(x,y)); bool detect=pixel.r==1.0?true:false; //vec4 mypixel=pixel.r>0.25?vec4(1.0,0.0,0.0,1.0):pixel; return detect; } ]ImageKernel_2::O2%>?@ABB"=۰"<`O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}. %#@,%#@0%%O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}S [ImageCrop_2%4%{%4%{%4%{%4%{O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}_SourceOverCompositing_1::OO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}V)_CISourceOverCompositing 7!"_((x+1)*256)-12 O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name"((x+1)*256)-12…"positionNSValue* {_NSPoint=ff}6$%&^((x+1)*256)-10O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name"((x+1)*256)-10"positionNSValue* {_NSPoint=ff}([;F!:)*8O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}H-IMJ0KLqk21+,-./0123457%4%4%4%:%O%4%4%4%=%R%6>?@ABBBB%O9%(XSprite_2=FG>E?@ABCD[inputPixelX[inputPixelY_inputColorSpace%4%4%:O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}\QCImagePixel\ImagePixel_1IKLJO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}\s_QCImageHistogram_ImageHistogram_1]^NdORaP%QO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}rTUVWr>0?1:0O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name "r>0?1:0"positionNSValue* {_NSPoint=ff}uXY[]ColorInvert_1Z::OO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}_]CIColorInvert]^`]MaskToAlpha_1_::OO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}3]CIMaskToAlphabijcdef:OOgh:^numberOfInputsWnewModeVscript_numberOfOutputsO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}9_/* A simple script that takes two input values, sums them and returns the result. Special keywords for defining input and output key types: __boolean, __index, __number, __string, __image, __structure, __virtual Note that the function input arguments are read-only. */ function (__boolean go) main (__boolean hit,__boolean istart) { var result = new Object(); if(istart){result.go=true;} if(hit){result.go=false;} return result; }\QCJavaScript\JavaScript_1lG !mo(((+sC~#n%O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}^-./01#2tvxyzn|%u#?ffffff%(%4%u%O%%}>?@ABBBB%F [Billboard_2efbB O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff} D%V!ȤUV[X_4Game over! Your score: %@ Press space to try again.O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name"Game over!…"positionNSValue* {_NSPoint=ff} |}[]^_`bb(g=Oklpnq%4%=%4%4%4O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff} klpnoq%4%=%4%4%g%4GH (((+C#%BO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}-./01#2%4%(%4%4%:%B%>?@ABBBB^inputOperation%(%O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}WQCLogicWLogic_1]connection_31HmVr}} HO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+ scrollingNSValue* {_NSPoint=ff} D" zoomFactorNSNumberfposition/ name Game overVt_argument_1_proxy_1RgoOm streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namego%F WPatch_5 !hi$fg#"]connection_30]connection_29fjVistartXkey_0020S Uimage] \YinputMask7<&$Cj0\& \j>jC7-\^u L$XS H  C$SS mL^_outputRedHistogramjShit+S $] O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+ scrollingNSValue* {_NSPoint=ff} D zoomFactorNSNumberfposition(=PZ_gpu P]a  &/$/4=BCHMRTY^ouz~  &3Lby!$ -;HSXafkmrw|   6 N f  a v   * 4 K Y ^ l q s   ! 2 7  !*0=FQ])6?HQZ_dm)6@M !6;PUjv`i{ (:EPbmy %6ANBEV[`msx (5N]js%2@  #(-(-<AC";DKU 2LUZej$2@N\mo 0AL]pjm~   % 6 < A !S![!h!!!!!!!!""#"("-"2"7"H"M"R"W"\""###6#O#c#u########$M$N$c$x$$$$$$$$$$$%t%%%&G&_&l&}&''0'5':'C'H'M'R'W']'j'{'((.(3(8(A(F(O(T(Y(^(d(q(())5):)C)H)M)R)W)\)b)o))**1*6*;*@*E*N*S*X*^*o**+4+O+`+z+,$,>,K,T,a,m,y,~,,,,-?-L-Y-f-s..%.2.7.A.F.../"/0/>/L/Y/g/t///////000 010B0S0\0i0z000011111112^2a2n2v222222222233 3333!3&3+303A3F3K333344/4<4E4J4S4445 505E5J5O5T5Y5^556666 6"6'6,61666C6L6V7777&77777888889y999:-:::C:M:; ;; ;*;;;;<<<<<=c=p=}==>:>G>T>e>j>o>x?"?-?????????@@@!@#@4@6@?@P@V@g@x@z@@@@@@@@@@@AAAA+AbccccBcGcLccccdddddddd$d)d.d?dDdIdJdVdcdldoeee&e/e@eIef4fAfff{fffffg)g*gCgHgMgRgWg\gagngggh.h/h0h1hNhShXhYh^hchhhmhrhhhhhhhhhiSi[icipi~iiijjjjjjjkTkYk^k_kgkkllll#l4lElKl\lflwllllllllmm!m2mCmTmemvmmmmmmmnnnn(n9nJo