bplist00234P_inputParameters^virtualPatches_frameworkVersion^portAttributesYrootPatch_editorViewerWindow #$%&'()*+,-./01_objectRotationZ\surfaceColor^fractalOffsetX_fractalRotationZTZoom_objectRotationY_fractalRotationX^lightPositionY_objectRotationX^fractalOffsetY_surfaceSmoothness^lightPositionZ_fractalRotationY\fractalScale^boundingRadius^lightPositionX^fractalOffsetZ#? !"SredUalphaTblueUgreen#?#?#?#?#?NN#?#?'bv'bv#?#?#?333333#?#?;;#?##?#?#?Չ؝؞#?#?NNX{156.28} 566666666666E666666W_enable789:[descriptionTname_The input port.UInput789:789:789:789:789:789:789:789:789:789:FGHITname[descriptionVEnable_ Controls execution of the patch.789:789:789:789:789:789:QRSTUclassUstateWQCPatchUVWXYZ[connectionsXtimebase_publishedInputPortsXuserInfoUnodes[\]^_`abcdefghijklmnopqz\connection_8\connection_7]connection_19]connection_13\connection_6\connection_5]connection_18]connection_12\connection_4\connection_3]connection_22]connection_17]connection_11\connection_2\connection_1]connection_21]connection_16]connection_10]connection_20]connection_15]connection_14\connection_9rstuvwxyZsourceNode_destinationPortZsourcePort_destinationNodeZSplitter_3\fractalScaleVoutput_RenderInImage_1rstu{|}~\ScreenInfo_1ZinputScale[outputWidth[Billboard_1rstuxy[Splitter_17\surfaceColorrstuxyZSplitter_8_fractalRotationYrstu{y[inputHeight_outputPixelsHighrstu{yZinputWidth_outputPixelsWiderstuxy[Splitter_13_objectRotationZrstuxyZSplitter_7_fractalRotationXrstuxyZSplitter_2_surfaceSmoothnessrstuxyZSplitter_1^boundingRadiusrstuxy[Splitter_16^lightPositionZrstuxy[Splitter_12_objectRotationYrstuxyZSplitter_6^fractalOffsetZrstu~_PatchRenderer_1ZinputImage__protocolOutput_Imagerstuy__protocolInput_Image[outputImagerstuxy[Splitter_15^lightPositionYrstuxy[Splitter_11_objectRotationXrstuxyZSplitter_5^fractalOffsetYrstuxy[Splitter_14^lightPositionXrstuxy[Splitter_10TZoomrstuxyZSplitter_9_fractalRotationZrstuxyZSplitter_4^fractalOffsetXVparentRTnodeSkeyTportXOy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameboundingRadiusUinputRXO| streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namesurfaceSmoothnessRvXOw streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name fractalScaleR XOy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalOffsetXRXOy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalOffsetYRXOy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalOffsetZRXO{ streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalRotationXRXO{ streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalRotationYR XO{ streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalRotationZR XOo streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameZoomRXOz streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameobjectRotationXR XOz streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameobjectRotationYRXOz streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameobjectRotationZR XOw streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name surfaceColorRXOy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namelightPositionXRXOy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namelightPositionYRXOy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namelightPositionZO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {CGPoint=dd} scrollingv@# zoomFactorNSNumberf6 &3@MZgtQR WQCClearX _ivarInputPortStates_clearColorBuffer_systemInputPortStates_clearDepthBufferZinputColorUvalue#### 5  O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {CGPoint=dd}Y WClear_1QR~[QCBillboardX,/014,[CIRendering_optimizedRenderingXsizeModeWversion\pixelAligned%')+VinputYZinputColor]inputRotation]inputBlendingVinputX_inputPixelAligned# !"#$#?#?#?#?&#(*#, ZautoHeight52 O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameSuper Shape (Billboard)positionNSValue* {CGPoint=dd}QR78y_QCRenderInImageUY9:;<=W>?X@((abcl,ZnoFeedback_colorCorrectionUwidth\mipmapLevelsVtargetVheight]noDepthBuffer%ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefjmruy|]connection_20]connection_16]connection_11\connection_5]connection_37]connection_32]connection_28]connection_23]connection_19\connection_8]connection_14\connection_1]connection_35]connection_30]connection_26\connection_4]connection_17]connection_21]connection_12\connection_7]connection_33]connection_29]connection_24]connection_15]connection_10\connection_3]connection_36]connection_31]connection_27]connection_22\connection_6]connection_18]connection_13\connection_9]connection_34]connection_25\connection_2rstughxiZSplitter_9Qx\Expression_8rstukhxlZSplitter_6\Expression_5rstunopq\Expression_3Xoffset_X\outputResult\GLSLShader_1rstustxqZSplitter_2_surfaceSmoothnessrstuvwxx[Splitter_17ZinputColor_ColorToComponents_rgb_1rstuzhx{[Splitter_14]Expression_13rstu}~pq]Expression_10]objRotation_Xrstupq\Expression_9_cameraPosition_ZrstuhxZSplitter_8\Expression_7rstuxq^surfaceColor_ZWoutput3rstuhxZSplitter_5\Expression_4rstuhxZSplitter_1\Expression_1rstuhx[Splitter_16]Expression_15rstupq]Expression_12]objRotation_Zrstuhx[Splitter_13rstuq\ScreenInfo_2Vsize_Yrstupq\Expression_6_fracRotation1_Xrstuipq_fracRotation1_ZrstupqXoffset_Yrstuxq^surfaceColor_YWoutput2rstuhx[Splitter_15]Expression_14rstupq]Expression_11]objRotation_Yrstuhx[Splitter_10rstulpqXoffset_ZrstuhxZSplitter_3\Expression_2rstuqVsize_XrstupqWlight_Zrstu{pqWlight_Xrstuhx}[Splitter_11rstupq_fracRotation1_Yrstuxq^surfaceColor_XWoutput1rstuhxZSplitter_7rstuhxnZSplitter_4rstupqUscalerstupqWlight_Yrstuhx[Splitter_12rstupq^boundingRadius#*/@FSYfkx ,1>CPUQRq\QCGLSLShaderYUX%&)^fragmentShader_customInputPortStates\vertexShader QRWQCClearX#### 5 O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {CGPoint=dd}% WClear_1QR XQCSpriteX \antialiasingVinputYVinputZVinputX\inputZBuffer]inputBlending\inputCullingWinputRZWinputRYWinputRXZinputColor###(####?#?#?#?5 O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {CGPoint=dd}-XSprite_1QR \QCScreenInfoX]cleanApertureO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {CGPoint=dd} \ScreenInfo_1_ #define HALFPI 1.570796 #define MIN_EPSILON 6e-7 #define MIN_NORM 1.5e-7 #define maxIterations 3 #define stepLimit 30 #define minRange 6e-5 uniform float scale; // default:2 uniform float surfaceDetail; // default:0.6 uniform float surfaceSmoothness; // default:0.8 uniform float boundingRadius; // default:5 uniform vec3 offset; // default:[0,0,0] //float cameraFocalLength = 1.; //default:1 uniform vec3 cameraPosition; //defaul ":[0.0, 0.0, -2.5] uniform vec3 surfaceColor; uniform vec3 light; // default:[-16.0, 100.0, -60.0] uniform vec2 size; // mat3 objectRotation; uniform vec3 objRotation; // default:[0, 0, 0] mat3 fractalRotation1; uniform vec3 fracRotation1; // default:[0, 0, 0] float aspectRatio = size.x / size.y; float pixelScale = 1.0 / min(size.x, size.y); float epsfactor = pixelScale * surfaceDetail; vec3 w = vec3(0, 0, 1); vec3 v = vec3(0, 1, 0); vec3 u = vec3(1, 0, 0); // Return rotation matrix for rotating around vector v by angle mat3 rotationMatrixVector(vec3 v, float angle) { float c = cos(radians(angle)); float s = sin(radians(angle)); return mat3(c + (1.0 - c) * v.x * v.x, (1.0 - c) * v.x * v.y - s * v.z, (1.0 - c) * v.x * v.z + s * v.y, (1.0 - c) * v.x * v.y + s * v.z, c + (1.0 - c) * v.y * v.y, (1.0 - c) * v.y * v.z - s * v.x, (1.0 - c) * v.x * v.z - s * v.y, (1.0 - c) * v.y * v.z + s * v.x, c + (1.0 - c) * v.z * v.z); } // ============================================================================================ // // Pre-calculations vec3 halfSpongeScale = vec3(0.5) * scale; // Adapted from Buddhis algorithm // http://www.fractalforums.com/3d-fractal-generation/revenge-of-the-half-eaten-menger-sponge/msg21700/ vec3 dE(vec3 w) { w *= objectRotation; w = (w * 0.5 + vec3(0.5)) * scale; // scale [-1, 1] range to [0, 1] vec3 v = abs(w - halfSpongeScale) - halfSpongeScale; float d1 = max(v.x, max(v.y, v.z)); // distance to the box float d = d1; float p = 1.0; float md = 10000.0; vec3 cd = v; for (int i = 0; i < int(maxIterations); i++) { vec3 a = mod(3.0 * w * p, 3.0); p = p * 3.; v = vec3(0.5) - abs(a - vec3(1.5)) + offset; v *= fractalRotation1; // distance inside the 3 axis aligned square tubes d1 = min(max(v.x, v.z), min(max(v.x, v.y), max(v.y, v.z))) / p; // intersection d = max(d, d1); } // The distance estimate, min distance, and fractional iteration count return vec3(d * 2.0 / scale, md, dot(cd, cd)); } // ============================================================================================ // // Define the ray direction from the pixel coordinates vec3 rayDirection(vec2 pixel) { vec2 p = (0.5 * size - pixel) / vec2(size.x, -size.y); p.x *= aspectRatio; vec3 d = (p.x * u + p.y * v + w); return normalize( d); } // Intersect bounding sphere // // If we intersect then set the tmin and tmax values to set the start and // end distances the ray should traverse. bool intersectBoundingSphere(vec3 origin, vec3 direction, out float tmin, out float tmax) { bool hit = false; float b = dot(origin, direction); float c = dot(origin, origin) - boundingRadius; float disc = b*b - c; // discriminant tmin = tmax = 0.0; if (disc > 0.0) { // Real root of disc, so intersection float sdisc = sqrt(disc); float t0 = -b - sdisc; // closest intersection distance float t1 = -b + sdisc; // furthest intersection distance if (t0 >= 0.0) { // Ray intersects front of sphere tmin = t0; tmax = t0 + t1; } else if (t0 < 0.0) { // Ray starts inside sphere tmax = t1; } hit = true; } return hit; } // Calculate the gradient in each dimension from the intersection point vec3 generateNormal(vec3 z, float d) { float e = max(d * 0.5, MIN_NORM); float dx1 = dE(z + vec3(e, 0, 0)).x; float dx2 = dE(z - vec3(e, 0, 0)).x; float dy1 = dE(z + vec3(0, e, 0)).x; float dy2 = dE(z - vec3(0, e, 0)).x; float dz1 = dE(z + vec3(0, 0, e)).x; float dz2 = dE(z - vec3(0, 0, e)).x; return normalize(vec3(dx1 - dx2, dy1 - dy2, dz1 - dz2)); } // Blinn phong shading model // http://en.wikipedia.org/wiki/BlinnPhong_shading_model // base color, incident, point of intersection, normal vec3 blinnPhong(vec3 color, vec3 p, vec3 n) { vec3 halfLV = normalize(light - p); float diffuse = max(dot(n, halfLV), 0.0); return color * diffuse ; } // Calculate the output colour for each input pixel vec4 render(vec2 pixel) { vec3 ray_direction = rayDirection(pixel); float ray_length = minRange; vec3 ray = cameraPosition + ray_length * ray_direction; vec4 color = vec4(0.0 , 0. , 0. , 1.); float eps = MIN_EPSILON; vec3 dist; vec3 normal = vec3(0); int steps = 0; bool hit = false; float tmin = 0.0; float tmax = 10000.0; if (intersectBoundingSphere(ray, ray_direction, tmin, tmax)) { ray_length = tmin; ray = cameraPosition + ray_length * ray_direction; for (int i = 0; i < stepLimit; i++) { steps = i; dist = dE(ray); dist.x *= surfaceSmoothness; // If we hit the surface on the previous step check again to make sure it wasn't // just a thin filament if (hit && dist.x < eps || ray_length > tmax || ray_length < tmin) { steps--; break; } hit =false; ray_length += dist.x; ray = cameraPosition + ray_length * ray_direction; eps = ray_length * epsfactor; if (dist.x < eps || ray_length < tmin) { hit = true; } } } // Found intersection? if (hit) { if (steps < 1 || ray_length < tmin) { normal = normalize(ray); } else { normal = generateNormal(ray, eps); } color.rgb = blinnPhong(clamp(surfaceColor.rgb , 0.0, 1.0), ray, normal); color.a = 1.0; } else { color = vec4(0.0 , 0. , 0. , 0.); } return color; } // ============================================================================================ // // The main loop void main() { vec4 color = vec4(0.0); aspectRatio = size.x / size.y; pixelScale = 1.0 / min(size.x, size.y); epsfactor = pixelScale * surfaceDetail; objectRotation = rotationMatrixVector(v, objRotation.x) * rotationMatrixVector(u, objRotation.y) * rotationMatrixVector(w, objRotation.z); fractalRotation1 = rotationMatrixVector(v, fracRotation1.x ) * rotationMatrixVector(u, fracRotation1.y) * rotationMatrixVector(w, fracRotation1.z); color = render(gl_FragCoord.xy); gl_FragColor = color; } \connection_2\connection_1rstu [inputHeightrstu ZinputWidth!#_cameraPosition_X]surfaceDetail_cameraPosition_Y #"#?$#_] attribute vec3 Position ; void main() { gl_Position = vec4(Position, 1.0); } 5' O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+ zoomFactorNSNumberNSValue*fposition {CGPoint=dd} scrolling|@QR+,\QCScreenInfoX-O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {CGPoint=dd}a QR01ZQCSplitter2345X69<=(>?_customOutputPortStatesXinputMinYportClassXinputMaxx7X8Oy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameboundingRadius:X;Oy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameboundingRadius#\QCNumberPort#?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameboundingRadiuspositionNSValue* {CGPoint=dd}QRAB\QCExpressionXCDEZexpressionO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name"x * 3."positionNSValue* {CGPoint=dd}?Vx * 3.QRGHsZQCSplitter2345XILOP(QRxJXKO| streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namesurfaceSmoothnessMXNO| streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namesurfaceSmoothness#\QCNumberPort#?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namesurfaceSmoothnesspositionNSValue* {CGPoint=dd}RQTUxWXZidentifierXVO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {CGPoint=dd}01_QCColorToComponentsSrgbQRZ[ZQCSplitter2345X\_bc(dex]X^Ow streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name fractalScale`XaOw streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name fractalScale#\QCNumberPort#?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name fractalScalepositionNSValue* {CGPoint=dd}QRgh\QCExpressionXCijO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name "x * 10."positionNSValue* {CGPoint=dd}=Wx * 10.QRlmZQCSplitter2345Xnqtu(vwxoXpOy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalOffsetXrXsOy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalOffsetX#\QCNumberPort#?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalOffsetXpositionNSValue* {CGPoint=dd}QRyzZQCSplitter2345X{~(x|X}Oy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalOffsetYXOy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalOffsetY#\QCNumberPort#?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalOffsetYpositionNSValue* {CGPoint=dd},QRn\QCExpressionXCO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name"x * 2. -0.5"positionNSValue* {CGPoint=dd}?\x * 2. -0.5QR\QCExpressionXCO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name"x * 2. -0.5"positionNSValue* {CGPoint=dd}?)\x * 2. -0.5QRkZQCSplitter2345X(xXOy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalOffsetZXOy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalOffsetZ#\QCNumberPort#?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalOffsetZpositionNSValue* {CGPoint=dd}PQRl\QCExpressionXCO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name"x * 2. -0.5"positionNSValue* {CGPoint=dd}?M\x * 2. -0.5QRZQCSplitter2345X(xXO{ streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalRotationXXO{ streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalRotationX#\QCNumberPort#?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalRotationXpositionNSValue* {CGPoint=dd}tQR\QCExpressionXCO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name"x * 360. -180."positionNSValue* {CGPoint=dd}=q_x * 360. -180.QRZQCSplitter2345X(xXO{ streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalRotationYXO{ streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalRotationY#\QCNumberPort#?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalRotationYpositionNSValue* {CGPoint=dd}QR\QCExpressionXCO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name"x * 360. -180."positionNSValue* {CGPoint=dd};_x * 360. -180.QRgZQCSplitter2345X(xXO{ streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalRotationZXO{ streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalRotationZ#\QCNumberPort#?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalRotationZpositionNSValue* {CGPoint=dd}QRi\QCExpressionXCO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name"x * 360. -180."positionNSValue* {CGPoint=dd}:_x * 360. -180.QRZQCSplitter2345X(xXOo streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameZoomXOo streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameZoom#\QCNumberPort#?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameZoompositionNSValue* {CGPoint=dd}t솆QR\QCExpressionXCO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name "x * 7 -6."positionNSValue* {CGPoint=dd}݆Zx * 7 -6.QRZQCSplitter2345X(xXOz streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameobjectRotationXXOz streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameobjectRotationX#\QCNumberPort#?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameobjectRotationXpositionNSValue* {CGPoint=dd}mQR}\QCExpressionXCO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name"x * 360. -180."positionNSValue* {CGPoint=dd} _x * 360. -180.QRZQCSplitter2345X(xXOz streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameobjectRotationYXOz streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameobjectRotationY#\QCNumberPort#?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameobjectRotationYpositionNSValue* {CGPoint=dd}n(QR  \QCExpressionXC  O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name"x * 360. -180."positionNSValue* {CGPoint=dd}%_x * 360. -180.QRZQCSplitter2345X(xXOz streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameobjectRotationZXOz streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameobjectRotationZ#\QCNumberPort#?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameobjectRotationZpositionNSValue* {CGPoint=dd}nLQR\QCExpressionXCO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name"x * 360. -180."positionNSValue* {CGPoint=dd} I_x * 360. -180.QR !zZQCSplitter2345X"%()(*+x#X$Oy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namelightPositionX&X'Oy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namelightPositionX#\QCNumberPort#?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namelightPositionXpositionNSValue* {CGPoint=dd}|QR-.{\QCExpressionXC/0O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name"x * 200. -100."positionNSValue* {CGPoint=dd}4y_x * 200. -100.QR23ZQCSplitter2345X47:;(<=x5X6Oy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namelightPositionY8X9Oy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namelightPositionY#\QCNumberPort#?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namelightPositionYpositionNSValue* {CGPoint=dd}QR?@\QCExpressionXCABO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name"x * 200. -100."positionNSValue* {CGPoint=dd}3_x * 200. -100.QRDEZQCSplitter2345XFILM(NOxGXHOy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namelightPositionZJXKOy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namelightPositionZ#\QCNumberPort#?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namelightPositionZpositionNSValue* {CGPoint=dd}QRQR\QCExpressionXCSTO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name"x * 200. -100."positionNSValue* {CGPoint=dd}3_x * 200. -100.QRVWvZQCSplitter42XXY\_([QCColorPortxZX[Ow streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name surfaceColor]X^Ow streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name surfaceColorO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name surfaceColorpositionNSValue* {CGPoint=dd}d X_GL_TEXTURE_RECTANGLE_EXTdefgik\inputMipmaps[inputRender[inputTarget, mpsvy|RnXoOy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameboundingRadiusRqsXrO| streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namesurfaceSmoothnessRtwXuOw streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name fractalScaleRwXxOy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalOffsetXRzX{Oy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalOffsetYR}kX~Oy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalOffsetZRXO{ streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalRotationXRXO{ streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalRotationYRgXO{ streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalRotationZRXOo streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameZoomRXOz streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameobjectRotationXRXOz streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameobjectRotationYRXOz streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameobjectRotationZRvXOw streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name surfaceColorRzXOy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namelightPositionXRXOy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namelightPositionYRXOy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namelightPositionZ,O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {CGPoint=dd}& scrolling@ zoomFactorNSNumberfQR{\QCScreenInfoXO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+positionNSValue* {CGPoint=dd}> QR_QCPatchRendererVX_compositionInputs_compositionOutputs_compositionMode[hasTimebaseQR]QCGLImagePortXOv streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name Input ImageQR\QCNumberPortVamountXOq streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameAmount#?|N EQR]QCBooleanPortYcleanEdgeX,Ou streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name Clean EdgeQRXOw streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name Output ImageYinputPath_%/System/Library/Compositions/Glow.qtzYprocessorO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameGlowpositionNSValue* {CGPoint=dd} QRZQCSplitter2345X(xXOy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameboundingRadiusXOy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameboundingRadius#\QCNumberPort#?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameboundingRadiuspositionNSValue* {CGPoint=dd}!tQRvZQCSplitter2345X(xXOw streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name fractalScaleXOw streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name fractalScale#\QCNumberPort#?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name fractalScalepositionNSValue* {CGPoint=dd}QRZQCSplitter2345X(xXOy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalOffsetXXOy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalOffsetX#\QCNumberPort#?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalOffsetXpositionNSValue* {CGPoint=dd}QRZQCSplitter2345X(xXOy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalOffsetYXOy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalOffsetY#\QCNumberPort#?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalOffsetYpositionNSValue* {CGPoint=dd} ԆQRZQCSplitter2345X (  xXOy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalOffsetZXOy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalOffsetZ#\QCNumberPort#?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalOffsetZpositionNSValue* {CGPoint=dd} 솆QR ZQCSplitter2345X(xXO{ streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalRotationXXO{ streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalRotationX#\QCNumberPort#?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalRotationXpositionNSValue* {CGPoint=dd}QRZQCSplitter2345X"#($%xXO{ streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalRotationY X!O{ streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalRotationY#\QCNumberPort#?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalRotationYpositionNSValue* {CGPoint=dd} QR'(ZQCSplitter2345X),/0(12x*X+O{ streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalRotationZ-X.O{ streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalRotationZ#\QCNumberPort#?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namefractalRotationZpositionNSValue* {CGPoint=dd}4QR45ZQCSplitter2345X69<=(>?x7X8Oo streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameZoom:X;Oo streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameZoom#\QCNumberPort#?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameZoompositionNSValue* {CGPoint=dd}!pQRABZQCSplitter2345XCFIJ(KLxDXEOz streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameobjectRotationXGXHOz streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameobjectRotationX#\QCNumberPort#?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameobjectRotationXpositionNSValue* {CGPoint=dd}"QRNOZQCSplitter2345XPSVW(XYxQXROz streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameobjectRotationYTXUOz streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameobjectRotationY#\QCNumberPort#?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameobjectRotationYpositionNSValue* {CGPoint=dd} QR[\ZQCSplitter2345X]`cd(efx^X_Oz streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameobjectRotationZaXbOz streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameobjectRotationZ#\QCNumberPort#?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+nameobjectRotationZpositionNSValue* {CGPoint=dd}!QRhiZQCSplitter2345Xjmpq(rsxkXlOy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namelightPositionXnXoOy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namelightPositionX#\QCNumberPort#?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namelightPositionXpositionNSValue* {CGPoint=dd}QRuvZQCSplitter2345Xwz}~(xxXyOy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namelightPositionY{X|Oy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namelightPositionY#\QCNumberPort#?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namelightPositionYpositionNSValue* {CGPoint=dd} QRZQCSplitter2345X(xXOy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namelightPositionZXOy streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namelightPositionZ#\QCNumberPort#?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namelightPositionZpositionNSValue* {CGPoint=dd}$QRZQCSplitter42X([QCColorPortxXOw streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name surfaceColorXOw streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name surfaceColorO streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+name surfaceColorpositionNSValue* {CGPoint=dd}QRZQCSplitter2345X(xXO| streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namesurfaceSmoothnessXO| streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namesurfaceSmoothness#\QCNumberPort#?O streamtyped@NSMutableDictionary NSDictionaryNSObjectiNSString+namesurfaceSmoothnesspositionNSValue* {CGPoint=dd}_798 524 600 346 0 0 1440 878 !3BUdn "5DVey (1:CLU^gpy !&8>GPYbkt} !'/DPYox~)7ER_m{ 2=OZgn+7J[fy#2CO^o{  & 2 C O ^ o {    " 5 F Q ` g , 2 C H W h m {  #5FKQbgw  ,=BP'Vck $%*/0(19F_fq &(-23CN`fsz&4BP]ky,9GUcq#4?AN_jw*;GUft ->IVgs 1CT]n}  % 0 = N U f n  !! !!'!8!>!O!W!h!t!!!!!""#";"H"O"\"d"y"~""""""""""#X#Y#a#n#w#########$$ $$$#$,$1$:$?$H$M$R$T$Y$^$g$l$u$z$$$$$$$$$$%\%e%r%%%&*&+&8BBBCCC%C6CACNCaCoCCCCCCCD DDDDEEEEEEEEEFF FFF FFFG"G+G8GAGGH HHHHHHII IIIIJJ J-J6JJKK KKKKKKKKLoLtLyLLM MMMMMNNNNNNNOQOVO[OOOOPPPPPPQaQfQkQQQRRRRRSSSSSTiTvTTTTTU1U6U;UUUUVVVVWYWfWsW~WWWX#X(X-XXXXY|YYYZRZdZqZ|ZZZ[![&[+[[[[\x\\\]L]^]k]v]]]^^ ^%^^^^_r___`F`X`e`p```a aaaaaabHbUbbbkcc$c1cDž̅چ߆`ejˆ͈nsxʊՊx}ˌ، "+َ#09!&,5BK05:”@IV_'DIN̕ѕ֖T]js#0;X]bԗٗޘPYfo +HMRϙԙٚV_lu&3>[`eir9FQnsx|LYd \it!ly',1ḁ̈|9>Ckx).3Ȩѩ