bplist00 ^portAttributes_editorViewerWindow_frameworkVersionYrootPatchW_enable Tname[descriptionVEnable_ Controls execution of the patch._&-1303 180 512 430 -1440 -216 1440 900 S106UstateUclass%Unodes[connectionsXuserInfoXtimebase!. SkeyZidentifier^QCStringFormat_StringFormat_printer_1VformatQXO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name"X"positionNSValue* {_NSPoint=ff}w-Wprinter",-#$%&'())*+(^numberOfInputsWnewModeWversionVscript_numberOfOutputsO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}h_/* 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 (__image charimage) main (__string char, __structure image) { var result = new Object(); if(!_testMode) { var thischar=char.charCodeAt(0); result.charimage = image[thischar]; //image["50"]; } return result; } \QCJavaScript\JavaScript_1/01`%_publishedOutputPorts2>HMSXd ).;AIPT3<=456(;_ivarInputPortStatesZcontinuous78_inputResetSignal9:UvalueO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}`$WQCQueueWQueue_1?FG4@A)E_keylessStructuresBC^inputSeparator9DPO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}_QCStringComponents_StringComponents_1IJ _StringFormat_printer_2KLo,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ,.,.,.^,.,.,.,.,.,.,.,.,.,.,.,.,.,\,.,.,.,.,.,.,.,.,.,.,.,.,.O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameasciipositionNSValue* {_NSPoint=ff}FNOPR_QCStructureMember_StructureMember_index_1QO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}kUindexTVWUO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}_QCStructureCount_StructureCount_1Ybc4Za[\]__inputSignalReset_inputSignalDown9:9:O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}]YQCCounterYCounter_1ef0g_publishedInputPortshijklmnop%4qrsqtuvr)w_verticalAlignmentUwidth_horizontalAlignment\manualLayoutXfontNameXfontSizeVheightXCenteredO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}Z% _MarkerFelt-Wide#@[xyz{|}~[inputHeight^inputGlyphSize\inputKerning\inputLeading]inputFontNameZinputWidth9#@`9v9#99u9[QCTextImage[TextImage_1]QCImageFilterXEmboss_1%(()_customInputPortStatesYhasBypass_normalizeCoordinates]filterVersion_inputReflection^inputElevation_inputBrightness_inputSurfaceScale\inputBearing^inputRoundnessZinputColor9#?ZZ`9#@;bN.A9#@9#9#@Np9#?@9UgreenTblueSredUalpha"?Qc";"?`"?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}PkXCIEmboss[ImageCrop_14_inputRectangle_X_inputRectangle_W_inputRectangle_Y_inputRectangle_Z99#@P999999O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}VCICrop_LinearGradient_1%(()]inputPoint0_Y[inputColor0]inputPoint1_X[inputColor1]inputPoint0_X]inputPoint1_Y999#@i999O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}_CILinearGradient_LinearGradient_2%(()99">{"?jR"={99"?Mk["?f199O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}_BlendWithMask_1%(()O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}Qꆆ_CIBlendWithMask_ColorBlendMode_1%(()O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}mJ_CIColorBlendMode   ]connection_31]connection_30]connection_27]connection_29]connection_28]connection_32\connection_6_destinationPortZsourceNodeZsourcePort_destinationNodeZinputImage[outputImage_inputEnvironmentMap ^inputMaskImage _inputBackgroundImageO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+ scrollingNSValue* {_NSPoint=ff}C zoomFactorNSNumberfpositionname Make charTnodeTportVletter[inputStringOq streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameletterUImageWQCPatchWPatch_1,-#$%&'())(O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameJavaScript SwitcherpositionNSValue* {_NSPoint=ff}\_var frame = undefined; function (__number outputNumber) main (__image ChangeMe) { if(frame == undefined) { frame = new Object; frame = 0; } if(frame>0) { frame=0; }else { frame++; } var result = new Object(); result.outputNumber = frame; return result; }!'(4"%&#$YinputMode9VparentO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}0WQCPulseWPulse_3*,-%+O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}WQCClockWClock_1/9:408123467[inputValue2YinputTest^inputTolerance95#?zG{99O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}Y]QCConditional]Conditional_1<'@4=%?#>9(O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}!]WPulse_1BGH4CFDEXinputMin9O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}xa\QCRangeValue\RangeValue_1J9O4KN32LM99(O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}]Conditional_2QVSRO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}_StructureCount_2U^_%VWX)]))^operationCount_numberOfOperationsYZ[\[operation_1Yoperand_19)9O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}VQCMathVMath_1abcdefghijklmnopqrstuvx{~]connection_21]connection_15\connection_8]connection_20]connection_16\connection_3\connection_1]connection_12\connection_7\connection_2\connection_4]connection_13]connection_17]connection_10]connection_22\connection_9\connection_5]connection_19]connection_14]connection_11]connection_18Ow\outputMemberyWz_ZinputValue[outputCount|:}@[inputSignal\outputResultSzO[inputValue1|@c\outputSignal7@-y=IG\outputString-:ZoutputTime=S^inputStructure[outputQueueGO_outputComponentsGW-XChangeMe:}-_inputStopSignalyczH_HXinputMax[outputValueHOZinputIndexZoutputClipWz=YinputSize1WzO|-(\outputNumber(-_inputStartSignal(=\inputFillingO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+ scrollingNSValue* {_NSPoint=ff} @CnoteListNSMutableArrayNSArraybounds#{_NSRect={_NSPoint=ff}{_NSSize=ff}}ldstringg"ascii" contains the ascii code set as a string. Some chars are replaced with . or , for convenience...colorNSColorcffff?l=@Here, the ascii set is split into components to make a structure?vd1This macro makes an image for the given character??This is bit makes a structure from the input images. The queue stores the structure, while the javascript switcher + pulse generate a signal to update the queue. The same signal is sent back to the start to tell the counter to tick, starting the next character.sdhxThis bit determines if the end of the ascii set has been reached. If so, it stops the counter, and sends a 'done' signal to the parent.?/ This is the counter that drives the character renderer. The range patch limits the counter to 1 less than the total no. of characters, so that the count stops. Otherwise, too many characters are created, the queue overflows, and the whole character set gets offset.?x@The stopwatch is used to delay the pulse being sent to the counter. If it's not there, on a fast system the 'rendering done' signal turns high before the last one goes low, so the pulse doesn't register and the counter stalls. The conditional stops and resets the counter after a set time, and then triggers the counter.? zoomFactorNSNumberfpositionpnameFont generator=_outputQueue_proxy_1O}TDoneOo streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameDone%4:::\pixelAligned[CIRendering_optimizedRenderingXsizeMode_systemInputPortStatesZinputScale9O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}yVinputY_inputPixelAligned]inputRotationVinputX]inputBlending99:999(99ZautoHeight9t [QCBillboard[Billboard_1jlmno%4qq:)xyz{}99#?999O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff}^\LucidaGrandexy{|z}999_Font generated!9999%4:::9#?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {_NSPoint=ff};9#3333339:99#?3333339(99[Billboard_2ijkgf-Tchar-Ycharimage-UimageO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+ scrollingNSValue* {_NSPoint=ff}JD?C zoomFactorNSNumberf?noteListNSMutableArrayNSArraycolorNSColorcffff?stringUChange this string to show a character. It only shows the first letter of the string.bounds#{_NSRect={_NSPoint=ff}{_NSSize=ff}},DMd?;This bit -> just shows some text when the font is finished.@CMCd?KThe javascript <- converts the string to ascii code, and selects the image.\DZiCd(=PZ_gpu"/@DO^w/7D]lt|.'4ANcz~ ^   + E J   & : @ V c l u | +4MYhu $<F]k  %.3<AJO`fkouz'8DQbu $27<MR[`qv{#4G`y~ev0BSf{!>LZhv(9J[j{@CPV^fsDZgty$,4AJ(7<EJO $ } !U!c!p!u" ""*"?"N"c"l"x"""##&#-#########$$$$*$8$F$T$a$n$|$$$$$$$$$% %%'%3%D%Q%b%s%%%%%%%%%&&&(&9&K&\&m&v&&&&&&&&&'''('5.....///y////////0 00000000000111 1 1111!1&171B1G1L1M1Y1e1r111111112c2d2q2222222222222333333333333333344 4!42474H4Y4c4t4z47S