@mateuszjs/magic-render 0.0.1-next.3 → 0.0.1-next.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/README.md +10 -0
  2. package/lib/index.mjs +1 -0
  3. package/lib/types/crate/glue_code.d.ts +2 -0
  4. package/lib/types/crate/glue_code.d.ts.map +1 -0
  5. package/lib/types/crate/pkg/index_bg.d.ts +44 -0
  6. package/lib/types/crate/pkg/index_bg.d.ts.map +1 -0
  7. package/lib/types/src/WebGPU/canvasSizeObserver.d.ts.map +1 -0
  8. package/lib/types/src/WebGPU/getDevice.d.ts.map +1 -0
  9. package/lib/types/src/WebGPU/getTexture/createCheckedImageData.d.ts.map +1 -0
  10. package/lib/types/src/WebGPU/getTexture/generateMimapsArray.d.ts.map +1 -0
  11. package/lib/types/src/WebGPU/getTexture/index.d.ts.map +1 -0
  12. package/lib/types/src/WebGPU/m3.d.ts.map +1 -0
  13. package/lib/types/src/WebGPU/programs/blur/getProgram.d.ts.map +1 -0
  14. package/lib/types/src/WebGPU/programs/draw3dModel/getProgram.d.ts.map +1 -0
  15. package/lib/types/src/WebGPU/programs/draw3dModelLight/getProgram.d.ts.map +1 -0
  16. package/lib/types/src/WebGPU/programs/draw3dModelTexture/getProgram.d.ts.map +1 -0
  17. package/lib/types/src/WebGPU/programs/drawBezier/getProgram.d.ts.map +1 -0
  18. package/lib/types/src/WebGPU/programs/drawTexture/getProgram.d.ts.map +1 -0
  19. package/lib/types/src/WebGPU/programs/drawTriangle/getProgram.d.ts.map +1 -0
  20. package/lib/types/src/WebGPU/programs/initPrograms.d.ts.map +1 -0
  21. package/lib/types/src/__test__/index.test.d.ts.map +1 -0
  22. package/lib/types/src/components/Preview/index.d.ts.map +1 -0
  23. package/lib/types/src/consts.d.ts.map +1 -0
  24. package/lib/types/src/getCanvasMatrix.d.ts.map +1 -0
  25. package/lib/types/src/getCanvasRenderDescriptor.d.ts.map +1 -0
  26. package/lib/types/src/getDepthTexture.d.ts.map +1 -0
  27. package/lib/types/src/getRenderDescriptor.d.ts.map +1 -0
  28. package/{dist → lib/types/src}/index.d.ts +2 -2
  29. package/lib/types/src/index.d.ts.map +1 -0
  30. package/lib/types/src/models/Video/MiniatureVideo.d.ts.map +1 -0
  31. package/{dist → lib/types/src}/run.d.ts +1 -1
  32. package/lib/types/src/run.d.ts.map +1 -0
  33. package/lib/types/src/types.d.ts.map +1 -0
  34. package/lib/types/src/utils/atNormIndex.d.ts.map +1 -0
  35. package/lib/types/src/utils/captureCanvasStream.d.ts.map +1 -0
  36. package/lib/types/src/utils/captureCanvasStreamWasm.d.ts.map +1 -0
  37. package/lib/types/src/utils/clamp.d.ts.map +1 -0
  38. package/lib/types/src/utils/distancePointToLine.d.ts.map +1 -0
  39. package/lib/types/src/utils/fitCurve.d.ts.map +1 -0
  40. package/lib/types/src/utils/getAngle.d.ts.map +1 -0
  41. package/lib/types/src/utils/getAngleDiff.d.ts.map +1 -0
  42. package/lib/types/src/utils/getBezierPos.d.ts.map +1 -0
  43. package/lib/types/src/utils/getBezierTan.d.ts.map +1 -0
  44. package/lib/types/src/utils/getCurveLength.d.ts.map +1 -0
  45. package/lib/types/src/utils/getDistance.d.ts.map +1 -0
  46. package/lib/types/src/utils/mat4.d.ts.map +1 -0
  47. package/lib/types/src/utils/normalizeVec2.d.ts.map +1 -0
  48. package/lib/types/src/utils/resizeArray.d.ts.map +1 -0
  49. package/lib/types/src/utils/vec3.d.ts.map +1 -0
  50. package/package.json +8 -9
  51. package/dist/2e9c8dbbfc49aa9c830e.module.wasm +0 -0
  52. package/dist/701.53ef6be51135b1f869af.js +0 -1
  53. package/dist/WebGPU/canvasSizeObserver.d.ts.map +0 -1
  54. package/dist/WebGPU/getDevice.d.ts.map +0 -1
  55. package/dist/WebGPU/getTexture/createCheckedImageData.d.ts.map +0 -1
  56. package/dist/WebGPU/getTexture/generateMimapsArray.d.ts.map +0 -1
  57. package/dist/WebGPU/getTexture/index.d.ts.map +0 -1
  58. package/dist/WebGPU/m3.d.ts.map +0 -1
  59. package/dist/WebGPU/programs/blur/getProgram.d.ts.map +0 -1
  60. package/dist/WebGPU/programs/draw3dModel/getProgram.d.ts.map +0 -1
  61. package/dist/WebGPU/programs/draw3dModelLight/getProgram.d.ts.map +0 -1
  62. package/dist/WebGPU/programs/draw3dModelTexture/getProgram.d.ts.map +0 -1
  63. package/dist/WebGPU/programs/drawBezier/getProgram.d.ts.map +0 -1
  64. package/dist/WebGPU/programs/drawTexture/getProgram.d.ts.map +0 -1
  65. package/dist/WebGPU/programs/drawTriangle/getProgram.d.ts.map +0 -1
  66. package/dist/WebGPU/programs/initPrograms.d.ts.map +0 -1
  67. package/dist/__test__/index.test.d.ts.map +0 -1
  68. package/dist/components/Preview/index.d.ts.map +0 -1
  69. package/dist/consts.d.ts.map +0 -1
  70. package/dist/getCanvasMatrix.d.ts.map +0 -1
  71. package/dist/getCanvasRenderDescriptor.d.ts.map +0 -1
  72. package/dist/getDepthTexture.d.ts.map +0 -1
  73. package/dist/getRenderDescriptor.d.ts.map +0 -1
  74. package/dist/index.60c4a3a7fc17987014f5.js +0 -1
  75. package/dist/index.d.ts.map +0 -1
  76. package/dist/index.html +0 -13
  77. package/dist/models/Video/MiniatureVideo.d.ts.map +0 -1
  78. package/dist/run.d.ts.map +0 -1
  79. package/dist/test-runtime.63d51731843ade072b76.js +0 -1
  80. package/dist/test.js +0 -1
  81. package/dist/types.d.ts.map +0 -1
  82. package/dist/utils/atNormIndex.d.ts.map +0 -1
  83. package/dist/utils/captureCanvasStream.d.ts.map +0 -1
  84. package/dist/utils/captureCanvasStreamWasm.d.ts.map +0 -1
  85. package/dist/utils/clamp.d.ts.map +0 -1
  86. package/dist/utils/distancePointToLine.d.ts.map +0 -1
  87. package/dist/utils/fitCurve.d.ts.map +0 -1
  88. package/dist/utils/getAngle.d.ts.map +0 -1
  89. package/dist/utils/getAngleDiff.d.ts.map +0 -1
  90. package/dist/utils/getBezierPos.d.ts.map +0 -1
  91. package/dist/utils/getBezierTan.d.ts.map +0 -1
  92. package/dist/utils/getCurveLength.d.ts.map +0 -1
  93. package/dist/utils/getDistance.d.ts.map +0 -1
  94. package/dist/utils/mat4.d.ts.map +0 -1
  95. package/dist/utils/normalizeVec2.d.ts.map +0 -1
  96. package/dist/utils/resizeArray.d.ts.map +0 -1
  97. package/dist/utils/vec3.d.ts.map +0 -1
  98. /package/{dist → lib/types/src}/WebGPU/canvasSizeObserver.d.ts +0 -0
  99. /package/{dist → lib/types/src}/WebGPU/getDevice.d.ts +0 -0
  100. /package/{dist → lib/types/src}/WebGPU/getTexture/createCheckedImageData.d.ts +0 -0
  101. /package/{dist → lib/types/src}/WebGPU/getTexture/generateMimapsArray.d.ts +0 -0
  102. /package/{dist → lib/types/src}/WebGPU/getTexture/index.d.ts +0 -0
  103. /package/{dist → lib/types/src}/WebGPU/m3.d.ts +0 -0
  104. /package/{dist → lib/types/src}/WebGPU/programs/blur/getProgram.d.ts +0 -0
  105. /package/{dist → lib/types/src}/WebGPU/programs/draw3dModel/getProgram.d.ts +0 -0
  106. /package/{dist → lib/types/src}/WebGPU/programs/draw3dModelLight/getProgram.d.ts +0 -0
  107. /package/{dist → lib/types/src}/WebGPU/programs/draw3dModelTexture/getProgram.d.ts +0 -0
  108. /package/{dist → lib/types/src}/WebGPU/programs/drawBezier/getProgram.d.ts +0 -0
  109. /package/{dist → lib/types/src}/WebGPU/programs/drawTexture/getProgram.d.ts +0 -0
  110. /package/{dist → lib/types/src}/WebGPU/programs/drawTriangle/getProgram.d.ts +0 -0
  111. /package/{dist → lib/types/src}/WebGPU/programs/initPrograms.d.ts +0 -0
  112. /package/{dist → lib/types/src}/__test__/index.test.d.ts +0 -0
  113. /package/{dist → lib/types/src}/components/Preview/index.d.ts +0 -0
  114. /package/{dist → lib/types/src}/consts.d.ts +0 -0
  115. /package/{dist → lib/types/src}/getCanvasMatrix.d.ts +0 -0
  116. /package/{dist → lib/types/src}/getCanvasRenderDescriptor.d.ts +0 -0
  117. /package/{dist → lib/types/src}/getDepthTexture.d.ts +0 -0
  118. /package/{dist → lib/types/src}/getRenderDescriptor.d.ts +0 -0
  119. /package/{dist → lib/types/src}/models/Video/MiniatureVideo.d.ts +0 -0
  120. /package/{dist → lib/types/src}/types.d.ts +0 -0
  121. /package/{dist → lib/types/src}/utils/atNormIndex.d.ts +0 -0
  122. /package/{dist → lib/types/src}/utils/captureCanvasStream.d.ts +0 -0
  123. /package/{dist → lib/types/src}/utils/captureCanvasStreamWasm.d.ts +0 -0
  124. /package/{dist → lib/types/src}/utils/clamp.d.ts +0 -0
  125. /package/{dist → lib/types/src}/utils/distancePointToLine.d.ts +0 -0
  126. /package/{dist → lib/types/src}/utils/fitCurve.d.ts +0 -0
  127. /package/{dist → lib/types/src}/utils/getAngle.d.ts +0 -0
  128. /package/{dist → lib/types/src}/utils/getAngleDiff.d.ts +0 -0
  129. /package/{dist → lib/types/src}/utils/getBezierPos.d.ts +0 -0
  130. /package/{dist → lib/types/src}/utils/getBezierTan.d.ts +0 -0
  131. /package/{dist → lib/types/src}/utils/getCurveLength.d.ts +0 -0
  132. /package/{dist → lib/types/src}/utils/getDistance.d.ts +0 -0
  133. /package/{dist → lib/types/src}/utils/mat4.d.ts +0 -0
  134. /package/{dist → lib/types/src}/utils/normalizeVec2.d.ts +0 -0
  135. /package/{dist → lib/types/src}/utils/resizeArray.d.ts +0 -0
  136. /package/{dist → lib/types/src}/utils/vec3.d.ts +0 -0
package/README.md CHANGED
@@ -3,3 +3,13 @@ _Hello there!_
3
3
  ```bash
4
4
  npm i @mateuszjs/magic-render
5
5
  ```
6
+
7
+ # Releasing versions
8
+
9
+ Each Pull Request has to be merged with squash, the following naming convention needs to be respected:
10
+
11
+ | Commit Message | Release Type |
12
+ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------- |
13
+ | `fix(pencil): stop graphite breaking when too much pressure applied` | patch/fix |
14
+ | `feat(pencil): add 'graphiteWidth' option` | minor/feature |
15
+ | `perf(pencil): remove graphiteWidth option`<br><br>`BREAKING CHANGE: The graphiteWidth option has been removed.`<br>`The default graphite width of 10mm is always used for performance reasons.` | major/breaking release <br /> (Note that the `BREAKING CHANGE: ` token must be in the footer of the commit) |
package/lib/index.mjs ADDED
@@ -0,0 +1 @@
1
+ var A={d:(B,I)=>{for(var g in I)A.o(I,g)&&!A.o(B,g)&&Object.defineProperty(B,g,{enumerable:!0,get:I[g]})},o:(A,B)=>Object.prototype.hasOwnProperty.call(A,B),r:A=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(A,"__esModule",{value:!0})}},B={};A.d(B,{A:()=>QA});var I={};function g(A,B,I,g){A.width=Math.max(1,Math.min(B,g.limits.maxTextureDimension2D)),A.height=Math.max(1,Math.min(I,g.limits.maxTextureDimension2D))}A.r(I),A.d(I,{State:()=>Z,__wbg_error_53abcd6a461f73d8:()=>$,__wbg_new_034f913e7636e987:()=>O,__wbg_new_e69b5f66fda8f13c:()=>V,__wbg_set_20cbc34131e76824:()=>j,__wbg_set_425e70f7c64ac962:()=>P,__wbg_set_wasm:()=>L,__wbg_stringify_eead5648c09faaf8:()=>v,__wbindgen_init_externref_table:()=>AA,__wbindgen_is_undefined:()=>T,__wbindgen_number_new:()=>X,__wbindgen_string_get:()=>z,__wbindgen_string_new:()=>W,__wbindgen_throw:()=>_});var Q=function(A,B,I,g){return new(I||(I=Promise))((function(Q,E){function C(A){try{o(g.next(A))}catch(A){E(A)}}function i(A){try{o(g.throw(A))}catch(A){E(A)}}function o(A){var B;A.done?Q(A.value):(B=A.value,B instanceof I?B:new I((function(A){A(B)}))).then(C,i)}o((g=g.apply(A,B||[])).next())}))};const E={fromMat4:(A,B=new Float32Array(12))=>(B[0]=A[0],B[1]=A[1],B[2]=A[2],B[4]=A[4],B[5]=A[5],B[6]=A[6],B[8]=A[8],B[9]=A[9],B[10]=A[10],B),projection:(A,B,I=new Float32Array(12))=>(I[0]=2/A,I[1]=0,I[2]=0,I[4]=0,I[5]=-2/B,I[6]=0,I[8]=-1,I[9]=1,I[10]=1,I),identity:(A=new Float32Array(12))=>(A[0]=1,A[1]=0,A[2]=0,A[4]=0,A[5]=1,A[6]=0,A[8]=0,A[9]=0,A[10]=1,A),multiply(A,B,I=new Float32Array(12)){I=I||new Float32Array(12);const g=A[0],Q=A[1],E=A[2],C=A[4],i=A[5],o=A[6],e=A[8],D=A[9],t=A[10],w=B[0],a=B[1],n=B[2],r=B[4],s=B[5],F=B[6],c=B[8],G=B[9],h=B[10];return I[0]=w*g+a*C+n*e,I[1]=w*Q+a*i+n*D,I[2]=w*E+a*o+n*t,I[4]=r*g+s*C+F*e,I[5]=r*Q+s*i+F*D,I[6]=r*E+s*o+F*t,I[8]=c*g+G*C+h*e,I[9]=c*Q+G*i+h*D,I[10]=c*E+G*o+h*t,I},translation:([A,B],I=new Float32Array(12))=>(I[0]=1,I[1]=0,I[2]=0,I[4]=0,I[5]=1,I[6]=0,I[8]=A,I[9]=B,I[10]=1,I),rotation(A,B=new Float32Array(12)){const I=Math.cos(A),g=Math.sin(A);return B[0]=I,B[1]=g,B[2]=0,B[4]=-g,B[5]=I,B[6]=0,B[8]=0,B[9]=0,B[10]=1,B},scaling:([A,B],I=new Float32Array(12))=>(I[0]=A,I[1]=0,I[2]=0,I[4]=0,I[5]=B,I[6]=0,I[8]=0,I[9]=0,I[10]=1,I),translate:(A,B,I=new Float32Array(12))=>E.multiply(A,E.translation(B),I),rotate:(A,B,I=new Float32Array(12))=>E.multiply(A,E.rotation(B),I),scale:(A,B,I=new Float32Array(12))=>E.multiply(A,E.scaling(B),I)},C=E,i="struct Uniforms {\n color: vec4f,\n matrix: mat3x3f,\n};\n\nstruct Vertex {\n @location(0) position: vec2f,\n};\n\nstruct VSOutput {\n @builtin(position) position: vec4f,\n};\n\n@group(0) @binding(0) var<uniform> uni: Uniforms;\n\n@vertex fn vs(vert: Vertex) -> VSOutput {\n var vsOut: VSOutput;\n\n let clipSpace = (uni.matrix * vec3f(vert.position, 1)).xy;\n vsOut.position = vec4f(clipSpace, 0.0, 1.0);\n return vsOut;\n}\n\n@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {\n return uni.color;\n}\n",o="struct Uniforms {\n matrix: mat4x4f,\n zoom: f32,\n};\n\nstruct Vertex {\n @location(0) t: f32,\n @location(1) dir: f32,\n @location(2) segmentIndex: u32,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n\n@group(0) @binding(1) var<storage> points: array<vec2f>;\n\nstruct VSOutput {\n @builtin(position) position: vec4f,\n @location(0) color: vec4f,\n};\n\n@vertex fn vs(vert: Vertex) -> VSOutput {\n var vsOut: VSOutput;\n \n let p1 = points[vert.segmentIndex * 4 + 0];\n let p2 = points[vert.segmentIndex * 4 + 1];\n let p3 = points[vert.segmentIndex * 4 + 2];\n let p4 = points[vert.segmentIndex * 4 + 3];\n\n let t2 = vert.t * vert.t;\n let one_minus_t = 1.0 - vert.t;\n let one_minus_t2 = one_minus_t * one_minus_t;\n let pos = p1 * one_minus_t2 * one_minus_t + p2 * 3.0 * vert.t * one_minus_t2 + p3 * 3.0 * t2 * one_minus_t + p4 * t2 * vert.t;\n\n let angle = one_minus_t2 * (p2 - p1) + 2.0 * vert.t * one_minus_t * (p3 - p2) + t2 * (p4 - p3);\n let angleNorm = normalize(angle) * 5 / u.zoom;\n let transPos = vec2(pos.x - angleNorm.y * vert.dir, pos.y + angleNorm.x * vert.dir);\n let clipSpace = (u.matrix * vec4f(transPos, 1, 1));\n vsOut.position = clipSpace;\n vsOut.color = vec4f(f32(vert.segmentIndex) % 3, (f32(vert.segmentIndex) + 1) % 3, (f32(vert.segmentIndex) + 2) % 3, 1);\n\n return vsOut;\n}\n\n@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {\n return vsOut.color;\n}\n",e="struct Uniforms {\n matrix: mat4x4f,\n};\n\nstruct Vertex {\n @location(0) position: vec4f,\n @location(1) texcoord: vec2f,\n};\n\nstruct VSOutput {\n @builtin(position) position: vec4f,\n @location(0) texcoord: vec2f,\n};\n\n@group(0) @binding(0) var<uniform> uni: Uniforms;\n\n@vertex fn vs(vert: Vertex) -> VSOutput {\n var vsOut: VSOutput;\n vsOut.position = uni.matrix * vert.position;\n vsOut.texcoord = vert.texcoord;\n return vsOut;\n}\n\n@group(0) @binding(1) var ourSampler: sampler;\n@group(0) @binding(2) var ourTexture: texture_2d<f32>;\n\n@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {\n return textureSample(ourTexture, ourSampler, vsOut.texcoord);\n}\n",D="struct Uniforms {\n matrix: mat4x4f,\n};\n\nstruct Vertex {\n @location(0) position: vec4f,\n};\n\nstruct VSOutput {\n @builtin(position) position: vec4f,\n @location(0) color: vec4f,\n};\n\n@group(0) @binding(0) var<uniform> uni: Uniforms;\n\n@vertex fn vs(\n vert: Vertex,\n @builtin(vertex_index) vertexIndex : u32,\n // @builtin(instance_index) instanceIndex: u32\n ) -> VSOutput {\n var vsOut: VSOutput;\n vsOut.position = uni.matrix * vert.position;\n vsOut.color = vec4f(f32(vertexIndex) % 3, (f32(vertexIndex) + 1) % 3, (f32(vertexIndex) + 2) % 3, 1);\n return vsOut;\n}\n\n\n@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {\n return vsOut.color;\n}\n",t="struct Uniforms {\n normalMatrix: mat3x3f,\n worldViewProjection: mat4x4f,\n lightColor: vec4f,\n lightDirection: vec3f,\n};\n\nstruct Vertex {\n @location(0) position: vec4f,\n @location(1) normal: vec3f,\n};\n\nstruct VSOutput {\n @builtin(position) position: vec4f,\n @location(0) color: vec4f,\n @location(1) normal: vec3f,\n};\n\n@group(0) @binding(0) var<uniform> uni: Uniforms;\n\n@vertex fn vs(\n vert: Vertex,\n @builtin(vertex_index) vertexIndex : u32,\n // @builtin(instance_index) instanceIndex: u32\n ) -> VSOutput {\n var vsOut: VSOutput;\n vsOut.position = uni.worldViewProjection * vert.position;\n vsOut.normal = uni.normalMatrix * vert.normal;\n vsOut.color = vec4f(f32(vertexIndex) % 3, (f32(vertexIndex) + 1) % 3, (f32(vertexIndex) + 2) % 3, 1);\n\n return vsOut;\n}\n\n\n@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {\n // Because vsOut.normal is an inter-stage variable \n // it's interpolated so it will not be a unit vector.\n // Normalizing it will make it a unit vector again\n let normal = normalize(vsOut.normal);\n \n // Compute the light by taking the dot product\n // of the normal to the light's reverse direction\n let light = dot(normal, -uni.lightDirection);\n \n // Lets multiply just the color portion (not the alpha)\n // by the light\n let color = vec3f(0.23) + uni.lightColor.rgb * light;\n // let color = vsOut.color.rgb * 0.5 + uni.lightColor.rgb * light;\n return vec4f(color, vsOut.color.a);\n}\n",w="struct Params {\n filterDim : i32,\n blockDim : u32,\n}\n\n@group(0) @binding(0) var samp : sampler;\n@group(0) @binding(1) var<uniform> params : Params;\n@group(1) @binding(1) var inputTex : texture_2d<f32>;\n@group(1) @binding(2) var outputTex : texture_storage_2d<rgba8unorm, write>;\n\nstruct Flip {\n value : u32,\n}\n@group(1) @binding(3) var<uniform> flip : Flip;\n\n// This shader blurs the input texture in one direction, depending on whether\n// |flip.value| is 0 or 1.\n// It does so by running (128 / 4) threads per workgroup to load 128\n// texels into 4 rows of shared memory. Each thread loads a\n// 4 x 4 block of texels to take advantage of the texture sampling\n// hardware.\n// Then, each thread computes the blur result by averaging the adjacent texel values\n// in shared memory.\n// Because we're operating on a subset of the texture, we cannot compute all of the\n// results since not all of the neighbors are available in shared memory.\n// Specifically, with 128 x 128 tiles, we can only compute and write out\n// square blocks of size 128 - (filterSize - 1). We compute the number of blocks\n// needed in Javascript and dispatch that amount.\n\n// 128/4 = 32 -> number of threads per working group\n// does it in 4x4 block of texels(takes advantage of texture sampling hardware)\n// with this beign said, we don't have all the neighbours, only this block\n// That's why we can only compute & write out blocks of size 128 - (filterSize - 1)\nvar<workgroup> tile : array<array<vec3<f32>, 128>, 4>;\n\n@compute @workgroup_size(32, 1, 1)\nfn main(\n @builtin(workgroup_id) WorkGroupID : vec3<u32>,\n @builtin(local_invocation_id) LocalInvocationID : vec3<u32>\n) {\n let filterOffset = (params.filterDim - 1) / 2;\n let dims = vec2<i32>(textureDimensions(inputTex, 0));\n let baseIndex = vec2<i32>(WorkGroupID.xy * vec2(params.blockDim, 4) + // it's just the index of the first texel in a group\n LocalInvocationID.xy * vec2(4, 1)) // <0, 128>\n - vec2(filterOffset, 0);\n // baseIndex = xy of first texel of group\n for (var r = 0; r < 4; r++) {\n for (var c = 0; c < 4; c++) {\n var loadIndex = baseIndex + vec2(c, r);\n if (flip.value != 0) {\n loadIndex = loadIndex.yx;\n }\n\n tile[r][4 * LocalInvocationID.x + u32(c)] = textureSampleLevel(\n inputTex,\n samp,\n (vec2<f32>(loadIndex) + vec2<f32>(0.25, 0.25)) / vec2<f32>(dims),\n 0.0\n ).rgb;\n }\n }\n\n workgroupBarrier();\n // helps coordinate access to read-write memory\n // so all threads(32) will wait to hit this barrer, and then start form here together\n\n for (var r = 0; r < 4; r++) {\n for (var c = 0; c < 4; c++) {\n var writeIndex = baseIndex + vec2(c, r);\n if (flip.value != 0) {\n writeIndex = writeIndex.yx;\n }\n\n let center = i32(4 * LocalInvocationID.x) + c;\n if (center >= filterOffset &&\n center < 128 - filterOffset &&\n all(writeIndex < dims)) {\n var acc = vec3(0.0, 0.0, 0.0);\n for (var f = 0; f < params.filterDim; f++) {\n var i = center + f - filterOffset;\n acc = acc + (1.0 / f32(params.filterDim)) * tile[r][i];\n }\n textureStore(outputTex, writeIndex, vec4(acc, 1.0));\n }\n }\n }\n}\n",a=128,n=[4,4],r="struct Vertex {\n @location(0) position: vec4f,\n @location(1) uv: vec2f,\n};\n\nstruct Uniforms {\n worldViewProjection: mat4x4f,\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) texCoord: vec2f,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n@group(0) @binding(1) var ourSampler: sampler;\n@group(0) @binding(2) var ourTexture: texture_2d<f32>;\n\n@vertex fn vs(vert: Vertex) -> VertexOutput {\n var out: VertexOutput;\n // maybe we should pass offsets from the position instead of... position?\n out.position = u.worldViewProjection * vert.position;\n out.texCoord = vert.uv;\n \n return out;\n}\n\n@fragment fn fs(in: VertexOutput) -> @location(0) vec4f {\n let texel = textureSample(ourTexture, ourSampler, in.texCoord);\n return texel;\n}\n",s=6;let F,c,G,h,y,N,M,U;const R={cross(A,B,I=new Float32Array(3)){const g=A[1]*B[2]-A[2]*B[1],Q=A[2]*B[0]-A[0]*B[2],E=A[0]*B[1]-A[1]*B[0];return I[0]=g,I[1]=Q,I[2]=E,I},subtract:(A,B,I=new Float32Array(3))=>(I[0]=A[0]-B[0],I[1]=A[1]-B[1],I[2]=A[2]-B[2],I),normalize(A,B=new Float32Array(3)){const I=Math.sqrt(A[0]*A[0]+A[1]*A[1]+A[2]*A[2]);return I>1e-5?(B[0]=A[0]/I,B[1]=A[1]/I,B[2]=A[2]/I):(B[0]=0,B[1]=0,B[2]=0),B}},k={projection:(A,B,I,g)=>k.ortho(0,A,B,0,I,-I,g),perspective(A,B,I,g,Q=new Float32Array(16)){const E=Math.tan(.5*Math.PI-.5*A),C=1/(I-g);return Q[0]=E/B,Q[1]=0,Q[2]=0,Q[3]=0,Q[4]=0,Q[5]=E,Q[6]=0,Q[7]=0,Q[8]=0,Q[9]=0,Q[10]=g*C,Q[11]=-1,Q[12]=0,Q[13]=0,Q[14]=I*g*C,Q[15]=0,Q},ortho:(A,B,I,g,Q,E,C=new Float32Array(16))=>(C[0]=2/(B-A),C[1]=0,C[2]=0,C[3]=0,C[4]=0,C[5]=2/(g-I),C[6]=0,C[7]=0,C[8]=0,C[9]=0,C[10]=1/(Q-E),C[11]=0,C[12]=(B+A)/(A-B),C[13]=(g+I)/(I-g),C[14]=Q/(Q-E),C[15]=1,C),identity:(A=new Float32Array(16))=>(A[0]=1,A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[5]=1,A[6]=0,A[7]=0,A[8]=0,A[9]=0,A[10]=1,A[11]=0,A[12]=0,A[13]=0,A[14]=0,A[15]=1,A),multiply(A,B,I=new Float32Array(16)){const g=B[0],Q=B[1],E=B[2],C=B[3],i=B[4],o=B[5],e=B[6],D=B[7],t=B[8],w=B[9],a=B[10],n=B[11],r=B[12],s=B[13],F=B[14],c=B[15],G=A[0],h=A[1],y=A[2],N=A[3],M=A[4],U=A[5],R=A[6],k=A[7],S=A[8],Y=A[9],J=A[10],u=A[11],L=A[12],f=A[13],d=A[14],l=A[15];return I[0]=g*G+Q*M+E*S+C*L,I[1]=g*h+Q*U+E*Y+C*f,I[2]=g*y+Q*R+E*J+C*d,I[3]=g*N+Q*k+E*u+C*l,I[4]=i*G+o*M+e*S+D*L,I[5]=i*h+o*U+e*Y+D*f,I[6]=i*y+o*R+e*J+D*d,I[7]=i*N+o*k+e*u+D*l,I[8]=t*G+w*M+a*S+n*L,I[9]=t*h+w*U+a*Y+n*f,I[10]=t*y+w*R+a*J+n*d,I[11]=t*N+w*k+a*u+n*l,I[12]=r*G+s*M+F*S+c*L,I[13]=r*h+s*U+F*Y+c*f,I[14]=r*y+s*R+F*J+c*d,I[15]=r*N+s*k+F*u+c*l,I},cameraAim(A,B,I,g=new Float32Array(16)){const Q=R.normalize(R.subtract(A,B)),E=R.normalize(R.cross(I,Q)),C=R.normalize(R.cross(Q,E));return g[0]=E[0],g[1]=E[1],g[2]=E[2],g[3]=0,g[4]=C[0],g[5]=C[1],g[6]=C[2],g[7]=0,g[8]=Q[0],g[9]=Q[1],g[10]=Q[2],g[11]=0,g[12]=A[0],g[13]=A[1],g[14]=A[2],g[15]=1,g},inverse(A,B=new Float32Array(16)){const I=A[0],g=A[1],Q=A[2],E=A[3],C=A[4],i=A[5],o=A[6],e=A[7],D=A[8],t=A[9],w=A[10],a=A[11],n=A[12],r=A[13],s=A[14],F=A[15],c=w*F,G=s*a,h=o*F,y=s*e,N=o*a,M=w*e,U=Q*F,R=s*E,k=Q*a,S=w*E,Y=Q*e,J=o*E,u=D*r,L=n*t,f=C*r,d=n*i,l=C*t,K=D*i,H=I*r,p=n*g,q=I*t,x=D*g,b=I*i,m=C*g,Z=c*i+y*t+N*r-(G*i+h*t+M*r),T=G*g+U*t+S*r-(c*g+R*t+k*r),v=h*g+R*i+Y*r-(y*g+U*i+J*r),W=M*g+k*i+J*t-(N*g+S*i+Y*t),V=1/(I*Z+C*T+D*v+n*W);return B[0]=V*Z,B[1]=V*T,B[2]=V*v,B[3]=V*W,B[4]=V*(G*C+h*D+M*n-(c*C+y*D+N*n)),B[5]=V*(c*I+R*D+k*n-(G*I+U*D+S*n)),B[6]=V*(y*I+U*C+J*n-(h*I+R*C+Y*n)),B[7]=V*(N*I+S*C+Y*D-(M*I+k*C+J*D)),B[8]=V*(u*e+d*a+l*F-(L*e+f*a+K*F)),B[9]=V*(L*E+H*a+x*F-(u*E+p*a+q*F)),B[10]=V*(f*E+p*e+b*F-(d*E+H*e+m*F)),B[11]=V*(K*E+q*e+m*a-(l*E+x*e+b*a)),B[12]=V*(f*w+K*s+L*o-(l*s+u*o+d*w)),B[13]=V*(q*s+u*Q+p*w-(H*w+x*s+L*Q)),B[14]=V*(H*o+m*s+d*Q-(b*s+f*Q+p*o)),B[15]=V*(b*w+l*Q+x*o-(q*o+m*w+K*Q)),B},transpose:(A,B=new Float32Array(16))=>(B[0]=A[0],B[1]=A[4],B[2]=A[8],B[3]=A[12],B[4]=A[1],B[5]=A[5],B[6]=A[9],B[7]=A[13],B[8]=A[2],B[9]=A[6],B[10]=A[10],B[11]=A[14],B[12]=A[3],B[13]=A[7],B[14]=A[11],B[15]=A[15],B),aim(A,B,I,g=new Float32Array(16)){const Q=R.normalize(R.subtract(B,A)),E=R.normalize(R.cross(I,Q)),C=R.normalize(R.cross(Q,E));return g[0]=E[0],g[1]=E[1],g[2]=E[2],g[3]=0,g[4]=C[0],g[5]=C[1],g[6]=C[2],g[7]=0,g[8]=Q[0],g[9]=Q[1],g[10]=Q[2],g[11]=0,g[12]=A[0],g[13]=A[1],g[14]=A[2],g[15]=1,g},lookAt:(A,B,I,g)=>k.inverse(k.cameraAim(A,B,I,g),g),translation:([A,B,I],g=new Float32Array(16))=>(g[0]=1,g[1]=0,g[2]=0,g[3]=0,g[4]=0,g[5]=1,g[6]=0,g[7]=0,g[8]=0,g[9]=0,g[10]=1,g[11]=0,g[12]=A,g[13]=B,g[14]=I,g[15]=1,g),rotationX(A,B=new Float32Array(16)){const I=Math.cos(A),g=Math.sin(A);return B[0]=1,B[1]=0,B[2]=0,B[3]=0,B[4]=0,B[5]=I,B[6]=g,B[7]=0,B[8]=0,B[9]=-g,B[10]=I,B[11]=0,B[12]=0,B[13]=0,B[14]=0,B[15]=1,B},rotationY(A,B=new Float32Array(16)){const I=Math.cos(A),g=Math.sin(A);return B[0]=I,B[1]=0,B[2]=-g,B[3]=0,B[4]=0,B[5]=1,B[6]=0,B[7]=0,B[8]=g,B[9]=0,B[10]=I,B[11]=0,B[12]=0,B[13]=0,B[14]=0,B[15]=1,B},rotationZ(A,B=new Float32Array(16)){const I=Math.cos(A),g=Math.sin(A);return B[0]=I,B[1]=g,B[2]=0,B[3]=0,B[4]=-g,B[5]=I,B[6]=0,B[7]=0,B[8]=0,B[9]=0,B[10]=1,B[11]=0,B[12]=0,B[13]=0,B[14]=0,B[15]=1,B},scaling:([A,B,I],g=new Float32Array(16))=>(g[0]=A,g[1]=0,g[2]=0,g[3]=0,g[4]=0,g[5]=B,g[6]=0,g[7]=0,g[8]=0,g[9]=0,g[10]=I,g[11]=0,g[12]=0,g[13]=0,g[14]=0,g[15]=1,g),translate:(A,B,I)=>k.multiply(A,k.translation(B),I),rotateX:(A,B,I)=>k.multiply(A,k.rotationX(B),I),rotateY:(A,B,I)=>k.multiply(A,k.rotationY(B),I),rotateZ:(A,B,I)=>k.multiply(A,k.rotationZ(B),I),scale:(A,B,I)=>k.multiply(A,k.scaling(B),I)},S=k;new Float32Array;const Y=(...A)=>{const B=Math.max(...A);return 1+Math.log2(B)|0};function J(A,B,I){return Math.min(I,Math.max(B,A))}let u;function L(A){u=A}let f=new("undefined"==typeof TextDecoder?(0,module.require)("util").TextDecoder:TextDecoder)("utf-8",{ignoreBOM:!0,fatal:!0});f.decode();let d=null;function l(){return null!==d&&0!==d.byteLength||(d=new Uint8Array(u.memory.buffer)),d}function K(A,B){return A>>>=0,f.decode(l().subarray(A,A+B))}let H=0,p=new("undefined"==typeof TextEncoder?(0,module.require)("util").TextEncoder:TextEncoder)("utf-8");const q="function"==typeof p.encodeInto?function(A,B){return p.encodeInto(A,B)}:function(A,B){const I=p.encode(A);return B.set(I),{read:A.length,written:I.length}};let x=null;function b(){return(null===x||!0===x.buffer.detached||void 0===x.buffer.detached&&x.buffer!==u.memory.buffer)&&(x=new DataView(u.memory.buffer)),x}const m="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((A=>u.__wbg_state_free(A>>>0,1)));class Z{static __wrap(A){A>>>=0;const B=Object.create(Z.prototype);return B.__wbg_ptr=A,m.register(B,B.__wbg_ptr,B),B}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,m.unregister(this),A}free(){const A=this.__destroy_into_raw();u.__wbg_state_free(A,0)}static new(A,B){const I=u.state_new(A,B);return Z.__wrap(I)}add_texture(A,B){u.state_add_texture(this.__wbg_ptr,A,B)}get_shader_input(A){return u.state_get_shader_input(this.__wbg_ptr,A)}update_points(A,B){u.state_update_points(this.__wbg_ptr,A,B)}}function T(A){return void 0===A}function v(){return function(A,B){try{return A.apply(this,B)}catch(A){const B=function(A){const B=u.__externref_table_alloc();return u.__wbindgen_export_2.set(B,A),B}(A);u.__wbindgen_exn_store(B)}}((function(A){return JSON.stringify(A)}),arguments)}function W(A,B){return K(A,B)}function V(){return new Object}function X(A){return A}function j(A,B,I){A[B]=I}function O(){return new Array}function P(A,B,I){A[B>>>0]=I}function z(A,B){const I="string"==typeof B?B:void 0;var g=null==I?0:function(A,B,I){if(void 0===I){const I=p.encode(A),g=B(I.length,1)>>>0;return l().subarray(g,g+I.length).set(I),H=I.length,g}let g=A.length,Q=B(g,1)>>>0;const E=l();let C=0;for(;C<g;C++){const B=A.charCodeAt(C);if(B>127)break;E[Q+C]=B}if(C!==g){0!==C&&(A=A.slice(C)),Q=I(Q,g,g=C+3*A.length,1)>>>0;const B=l().subarray(Q+C,Q+g);C+=q(A,B).written,Q=I(Q,g,C,1)>>>0}return H=C,Q}(I,u.__wbindgen_malloc,u.__wbindgen_realloc),Q=H;b().setInt32(A+4,Q,!0),b().setInt32(A+0,g,!0)}function _(A,B){throw new Error(K(A,B))}const $="function"==typeof console.error?console.error:()=>{throw new Error("console.error is not defined")};function AA(){const A=u.__wbindgen_export_2,B=A.grow(4);A.set(0,void 0),A.set(B+0,void 0),A.set(B+1,null),A.set(B+2,!0),A.set(B+3,!1)}const BA="data:application/wasm;base64,AGFzbQEAAAABgQIoYAJ/fwF/YAN/f38Bf2ACf38AYAN/f38AYAF/AGABfwF/YAAAYAR/f39/AGAFf39/fn8AYAV/f39/fwBgBH9/f38Bf2AFf39/f38Bf2ACf38Bb2AAAW9gBn9/f39/fwF/YAFvAX9gAW8Bb2ABfAFvYANvb28AYANvf28AYAJ/bwBgAW8AYAR/f39+AGAAAX9gAn5/AGADfn9/AX9gB39/f39/f38Bf2AGf39/f39/AGADf35+AGAEf35+fwBgAn19AX9gBX9/fX9/AGAEf31/fwBgBX9/fH9/AGAEf3x/fwBgBX9/fn9/AGAEf35/fwBgAXwBf2ADf29/AGADf39vAAL2AwwNLi9pbmRleF9iZy5qcxdfX3diaW5kZ2VuX2lzX3VuZGVmaW5lZAAPDS4vaW5kZXhfYmcuanMgX193Ymdfc3RyaW5naWZ5X2VlYWQ1NjQ4YzA5ZmFhZjgAEA0uL2luZGV4X2JnLmpzFV9fd2JpbmRnZW5fc3RyaW5nX25ldwAMDS4vaW5kZXhfYmcuanMaX193YmdfbmV3X2U2OWI1ZjY2ZmRhOGYxM2MADQ0uL2luZGV4X2JnLmpzFV9fd2JpbmRnZW5fbnVtYmVyX25ldwARDS4vaW5kZXhfYmcuanMaX193Ymdfc2V0XzIwY2JjMzQxMzFlNzY4MjQAEg0uL2luZGV4X2JnLmpzGl9fd2JnX25ld18wMzRmOTEzZTc2MzZlOTg3AA0NLi9pbmRleF9iZy5qcxpfX3diZ19zZXRfNDI1ZTcwZjdjNjRhYzk2MgATDS4vaW5kZXhfYmcuanMVX193YmluZGdlbl9zdHJpbmdfZ2V0ABQNLi9pbmRleF9iZy5qcxBfX3diaW5kZ2VuX3Rocm93AAINLi9pbmRleF9iZy5qcxxfX3diZ19lcnJvcl81M2FiY2Q2YTQ2MWY3M2Q4ABUNLi9pbmRleF9iZy5qcx9fX3diaW5kZ2VuX2luaXRfZXh0ZXJucmVmX3RhYmxlAAYDf34FAAUBAQMDBBYACgIIAgEOAgEAAwcFAAgCFwIFARgEABkCAAQFAhoIAAICAAUbBAkCAwMFAgIABgcBAAAcBAgEAQcDAgUFHQIDAAEDCwQKHgIADgsJHyEjAAcEAQMABQAAAAAAAAAlJicABAkMAAMEAwMAAAYCBgYAAgECBQQECQJwAScnbwCAAQUDAQARBgkBfwFBgIDAAAsH7wEMBm1lbW9yeQIAEF9fd2JnX3N0YXRlX2ZyZWUAJglzdGF0ZV9uZXcAWxFzdGF0ZV9hZGRfdGV4dHVyZQBzFnN0YXRlX2dldF9zaGFkZXJfaW5wdXQAeBNzdGF0ZV91cGRhdGVfcG9pbnRzAHQRX193YmluZGdlbl9tYWxsb2MAVRJfX3diaW5kZ2VuX3JlYWxsb2MAWhNfX3diaW5kZ2VuX2V4cG9ydF8yAQEUX193YmluZGdlbl9leG5fc3RvcmUAZhdfX2V4dGVybnJlZl90YWJsZV9hbGxvYwAlEF9fd2JpbmRnZW5fc3RhcnQACwkvAQBBAQsmeXV/DXV5cR5GXzlgX15nZWBgYWJjZH5dNxWHAYUBbW5vbGlLVjSEAXAK6eIDfuYiAgh/AX4CQAJAAkACQAJAAkACQAJAIABB9QFPBEAgAEHM/3tLDQUgAEELaiIBQXhxIQVByKjBACgCACIIRQ0EQR8hB0EAIAVrIQMgAEH0//8HTQRAIAVBBiABQQh2ZyIAa3ZBAXEgAEEBdGtBPmohBwsgB0ECdEGspcEAaigCACIBRQRAQQAhAAwCC0EAIQAgBUEZIAdBAXZrQQAgB0EfRxt0IQQDQAJAIAEoAgRBeHEiBiAFSQ0AIAYgBWsiBiADTw0AIAEhAiAGIgMNAEEAIQMgASEADAQLIAEoAhQiBiAAIAYgASAEQR12QQRxakEQaigCACIBRxsgACAGGyEAIARBAXQhBCABDQALDAELQcSowQAoAgAiBEEQIABBC2pB+ANxIABBC0kbIgVBA3YiAHYiAUEDcQRAAkAgAUF/c0EBcSAAaiIFQQN0IgBBvKbBAGoiAiAAQcSmwQBqKAIAIgEoAggiA0cEQCADIAI2AgwgAiADNgIIDAELQcSowQAgBEF+IAV3cTYCAAsgASAAQQNyNgIEIAAgAWoiACAAKAIEQQFyNgIEDAgLIAVBzKjBACgCAE0NAwJAAkAgAUUEQEHIqMEAKAIAIgBFDQYgAGhBAnRBrKXBAGooAgAiAigCBEF4cSAFayEDIAIhAQNAAkAgAigCECIADQAgAigCFCIADQAgASgCGCEHAkACQCABIAEoAgwiAEYEQCABQRRBECABKAIUIgAbaigCACICDQFBACEADAILIAEoAggiAiAANgIMIAAgAjYCCAwBCyABQRRqIAFBEGogABshBANAIAQhBiACIgBBFGogAEEQaiAAKAIUIgIbIQQgAEEUQRAgAhtqKAIAIgINAAsgBkEANgIACyAHRQ0EIAEgASgCHEECdEGspcEAaiICKAIARwRAIAdBEEEUIAcoAhAgAUYbaiAANgIAIABFDQUMBAsgAiAANgIAIAANA0HIqMEAQciowQAoAgBBfiABKAIcd3E2AgAMBAsgACgCBEF4cSAFayICIAMgAiADSSICGyEDIAAgASACGyEBIAAhAgwACwALAkBBAiAAdCICQQAgAmtyIAEgAHRxaCIGQQN0IgBBvKbBAGoiASAAQcSmwQBqKAIAIgIoAggiA0cEQCADIAE2AgwgASADNgIIDAELQcSowQAgBEF+IAZ3cTYCAAsgAiAFQQNyNgIEIAIgBWoiBiAAIAVrIgNBAXI2AgQgACACaiADNgIAQcyowQAoAgAiAQRAIAFBeHFBvKbBAGohAEHUqMEAKAIAIQQCf0HEqMEAKAIAIgVBASABQQN2dCIBcUUEQEHEqMEAIAEgBXI2AgAgAAwBCyAAKAIICyEBIAAgBDYCCCABIAQ2AgwgBCAANgIMIAQgATYCCAtB1KjBACAGNgIAQcyowQAgAzYCACACQQhqDwsgACAHNgIYIAEoAhAiAgRAIAAgAjYCECACIAA2AhgLIAEoAhQiAkUNACAAIAI2AhQgAiAANgIYCwJAAkAgA0EQTwRAIAEgBUEDcjYCBCABIAVqIgUgA0EBcjYCBCADIAVqIAM2AgBBzKjBACgCACIERQ0BIARBeHFBvKbBAGohAEHUqMEAKAIAIQICf0HEqMEAKAIAIgZBASAEQQN2dCIEcUUEQEHEqMEAIAQgBnI2AgAgAAwBCyAAKAIICyEEIAAgAjYCCCAEIAI2AgwgAiAANgIMIAIgBDYCCAwBCyABIAMgBWoiAEEDcjYCBCAAIAFqIgAgACgCBEEBcjYCBAwBC0HUqMEAIAU2AgBBzKjBACADNgIACwwHCyAAIAJyRQRAQQAhAkECIAd0IgBBACAAa3IgCHEiAEUNAyAAaEECdEGspcEAaigCACEACyAARQ0BCwNAIAAgAiAAKAIEQXhxIgQgBWsiBiADSSIHGyEIIAAoAhAiAUUEQCAAKAIUIQELIAIgCCAEIAVJIgAbIQIgAyAGIAMgBxsgABshAyABIgANAAsLIAJFDQAgBUHMqMEAKAIAIgBNIAMgACAFa09xDQAgAigCGCEHAkACQCACIAIoAgwiAEYEQCACQRRBECACKAIUIgAbaigCACIBDQFBACEADAILIAIoAggiASAANgIMIAAgATYCCAwBCyACQRRqIAJBEGogABshBANAIAQhBiABIgBBFGogAEEQaiAAKAIUIgEbIQQgAEEUQRAgARtqKAIAIgENAAsgBkEANgIACyAHRQ0DIAIgAigCHEECdEGspcEAaiIBKAIARwRAIAdBEEEUIAcoAhAgAkYbaiAANgIAIABFDQQMAwsgASAANgIAIAANAkHIqMEAQciowQAoAgBBfiACKAIcd3E2AgAMAwsCQAJAAkACQCAFQcyowQAoAgAiAUsEQCAFQdCowQAoAgAiAE8EQEEAIQMgBUGvgARqIgBBEHZAACIBQX9GIgINBiABQRB0IgFFDQZB3KjBAEEAIABBgIB8cSACGyIDQdyowQAoAgBqIgA2AgBB4KjBACAAQeCowQAoAgAiAiAAIAJLGzYCAAJAAkBB2KjBACgCACICBEBBrKbBACEAA0AgACgCACIEIAAoAgQiBmogAUYNAiAAKAIIIgANAAsMAgtB6KjBACgCACIAQQAgACABTRtFBEBB6KjBACABNgIAC0HsqMEAQf8fNgIAQbCmwQAgAzYCAEGspsEAIAE2AgBByKbBAEG8psEANgIAQdCmwQBBxKbBADYCAEHEpsEAQbymwQA2AgBB2KbBAEHMpsEANgIAQcymwQBBxKbBADYCAEHgpsEAQdSmwQA2AgBB1KbBAEHMpsEANgIAQeimwQBB3KbBADYCAEHcpsEAQdSmwQA2AgBB8KbBAEHkpsEANgIAQeSmwQBB3KbBADYCAEH4psEAQeymwQA2AgBB7KbBAEHkpsEANgIAQYCnwQBB9KbBADYCAEH0psEAQeymwQA2AgBBuKbBAEEANgIAQYinwQBB/KbBADYCAEH8psEAQfSmwQA2AgBBhKfBAEH8psEANgIAQZCnwQBBhKfBADYCAEGMp8EAQYSnwQA2AgBBmKfBAEGMp8EANgIAQZSnwQBBjKfBADYCAEGgp8EAQZSnwQA2AgBBnKfBAEGUp8EANgIAQainwQBBnKfBADYCAEGkp8EAQZynwQA2AgBBsKfBAEGkp8EANgIAQaynwQBBpKfBADYCAEG4p8EAQaynwQA2AgBBtKfBAEGsp8EANgIAQcCnwQBBtKfBADYCAEG8p8EAQbSnwQA2AgBByKfBAEG8p8EANgIAQdCnwQBBxKfBADYCAEHEp8EAQbynwQA2AgBB2KfBAEHMp8EANgIAQcynwQBBxKfBADYCAEHgp8EAQdSnwQA2AgBB1KfBAEHMp8EANgIAQeinwQBB3KfBADYCAEHcp8EAQdSnwQA2AgBB8KfBAEHkp8EANgIAQeSnwQBB3KfBADYCAEH4p8EAQeynwQA2AgBB7KfBAEHkp8EANgIAQYCowQBB9KfBADYCAEH0p8EAQeynwQA2AgBBiKjBAEH8p8EANgIAQfynwQBB9KfBADYCAEGQqMEAQYSowQA2AgBBhKjBAEH8p8EANgIAQZiowQBBjKjBADYCAEGMqMEAQYSowQA2AgBBoKjBAEGUqMEANgIAQZSowQBBjKjBADYCAEGoqMEAQZyowQA2AgBBnKjBAEGUqMEANgIAQbCowQBBpKjBADYCAEGkqMEAQZyowQA2AgBBuKjBAEGsqMEANgIAQayowQBBpKjBADYCAEHAqMEAQbSowQA2AgBBtKjBAEGsqMEANgIAQdiowQAgATYCAEG8qMEAQbSowQA2AgBB0KjBACADQShrIgA2AgAgASAAQQFyNgIEIAAgAWpBKDYCBEHkqMEAQYCAgAE2AgAMBwsgAiAESSABIAJNcg0AIAAoAgxFDQMLQeiowQBB6KjBACgCACIAIAEgACABSRs2AgAgASADaiEEQaymwQAhAAJAAkADQCAEIAAoAgAiBkcEQCAAKAIIIgANAQwCCwsgACgCDEUNAQtBrKbBACEAA0ACQCACIAAoAgAiBE8EQCACIAQgACgCBGoiBkkNAQsgACgCCCEADAELC0HYqMEAIAE2AgBB0KjBACADQShrIgA2AgAgASAAQQFyNgIEIAAgAWpBKDYCBEHkqMEAQYCAgAE2AgAgAiAGQSBrQXhxQQhrIgAgACACQRBqSRsiBEEbNgIEQaymwQApAgAhCSAEQRBqQbSmwQApAgA3AgAgBCAJNwIIQbCmwQAgAzYCAEGspsEAIAE2AgBBtKbBACAEQQhqNgIAQbimwQBBADYCACAEQRxqIQADQCAAQQc2AgAgAEEEaiIAIAZJDQALIAIgBEYNBiAEIAQoAgRBfnE2AgQgAiAEIAJrIgBBAXI2AgQgBCAANgIAIABBgAJPBEAgAiAAEDYMBwsgAEH4AXFBvKbBAGohAQJ/QcSowQAoAgAiBEEBIABBA3Z0IgBxRQRAQcSowQAgACAEcjYCACABDAELIAEoAggLIQAgASACNgIIIAAgAjYCDCACIAE2AgwgAiAANgIIDAYLIAAgATYCACAAIAAoAgQgA2o2AgQgASAFQQNyNgIEIAZBD2pBeHFBCGsiAyABIAVqIgRrIQUgA0HYqMEAKAIARg0DIANB1KjBACgCAEYNBCADKAIEIgJBA3FBAUYEQCADIAJBeHEiABAxIAAgBWohBSAAIANqIgMoAgQhAgsgAyACQX5xNgIEIAQgBUEBcjYCBCAEIAVqIAU2AgAgBUGAAk8EQCAEIAUQNgwKCyAFQfgBcUG8psEAaiEAAn9BxKjBACgCACICQQEgBUEDdnQiA3FFBEBBxKjBACACIANyNgIAIAAMAQsgACgCCAshBSAAIAQ2AgggBSAENgIMIAQgADYCDCAEIAU2AggMCQtB0KjBACAAIAVrIgE2AgBB2KjBAEHYqMEAKAIAIgAgBWoiAjYCACACIAFBAXI2AgQgACAFQQNyNgIEIABBCGohAwwFC0HUqMEAKAIAIQACQCABIAVrIgJBD00EQEHUqMEAQQA2AgBBzKjBAEEANgIAIAAgAUEDcjYCBCAAIAFqIgEgASgCBEEBcjYCBAwBC0HMqMEAIAI2AgBB1KjBACAAIAVqIgQ2AgAgBCACQQFyNgIEIAAgAWogAjYCACAAIAVBA3I2AgQLIABBCGoPCyAAIAMgBmo2AgRB2KjBAEHYqMEAKAIAIgBBD2pBeHEiAUEIayICNgIAQdCowQBB0KjBACgCACADaiIEIAAgAWtqQQhqIgE2AgAgAiABQQFyNgIEIAAgBGpBKDYCBEHkqMEAQYCAgAE2AgAMAgtB2KjBACAENgIAQdCowQBB0KjBACgCACAFaiIANgIAIAQgAEEBcjYCBAwFC0HUqMEAIAQ2AgBBzKjBAEHMqMEAKAIAIAVqIgA2AgAgBCAAQQFyNgIEIAAgBGogADYCAAwEC0EAIQNB0KjBACgCACIAIAVNDQBB0KjBACAAIAVrIgE2AgBB2KjBAEHYqMEAKAIAIgAgBWoiAjYCACACIAFBAXI2AgQgACAFQQNyNgIEIABBCGoPCyADDwsgACAHNgIYIAIoAhAiAQRAIAAgATYCECABIAA2AhgLIAIoAhQiAUUNACAAIAE2AhQgASAANgIYCwJAIANBEE8EQCACIAVBA3I2AgQgAiAFaiIBIANBAXI2AgQgASADaiADNgIAIANBgAJPBEAgASADEDYMAgsgA0H4AXFBvKbBAGohAAJ/QcSowQAoAgAiBEEBIANBA3Z0IgNxRQRAQcSowQAgAyAEcjYCACAADAELIAAoAggLIQMgACABNgIIIAMgATYCDCABIAA2AgwgASADNgIIDAELIAIgAyAFaiIAQQNyNgIEIAAgAmoiACAAKAIEQQFyNgIECyACQQhqDwsgAUEIagvbGwIHfwd+IwBB4AJrIgIkAAJ/AkACfwJAAkACQAJAIAAtAAAiA0EDaw4FAQAAAAIACwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgA0EBaw4RAgMABAUGAAcICQoLDA0ODxABCwALIAIgAC0AAToAwAIgAkECNgLMAiACQZj8wAA2AsgCIAJCATcC1AIgAiACQcACaq1CgICAgOAChDcDoAIgAiACQaACajYC0AIgASgCHCABKAIgIAJByAJqEB0MFAsgAiAAKQMINwPAAiACQQI2AswCIAJBtPzAADYCyAIgAkIBNwLUAiACIAJBwAJqrUKAgICA8AKENwOgAiACIAJBoAJqNgLQAiABKAIcIAEoAiAgAkHIAmoQHQwTCyACIAApAwg3A8ACIAJBAjYCzAIgAkG0/MAANgLIAiACQgE3AtQCIAIgAkHAAmqtQoCAgICAA4Q3A6ACIAIgAkGgAmo2AtACIAEoAhwgASgCICACQcgCahAdDBILIAIgACgCBDYCwAIgAkECNgLMAiACQdD8wAA2AsgCIAJCATcC1AIgAiACQcACaq1CgICAgJADhDcDoAIgAiACQaACajYC0AIgASgCHCABKAIgIAJByAJqEB0MEQsgAiAAKQIENwLAAiACQQE2AswCIAJB6PzAADYCyAIgAkIBNwLUAiACIAJBwAJqrUKAgICAoAOENwOgAiACIAJBoAJqNgLQAiABKAIcIAEoAiAgAkHIAmoQHQwQCyABKAIcQYP8wABBCiABKAIgKAIMEQEADA8LIAEoAhxB8PzAAEEMIAEoAiAoAgwRAQAMDgsgASgCHEH8/MAAQQ4gASgCICgCDBEBAAwNCyABKAIcQYr9wABBCCABKAIgKAIMEQEADAwLIAEoAhxBkv3AAEEDIAEoAiAoAgwRAQAMCwsgASgCHEGV/cAAQQQgASgCICgCDBEBAAwKCyABKAIcQZn9wABBDCABKAIgKAIMEQEADAkLIAEoAhxBpf3AAEEPIAEoAiAoAgwRAQAMCAsgASgCHEG0/cAAQQ0gASgCICgCDBEBAAwHCyABKAIcQcH9wABBDiABKAIgKAIMEQEADAYLIAEoAhwgACgCBCAAKAIIIAEoAiAoAgwRAQAMBQsgACkDCCIJQv////////8HgyELIAlC////////////AINC//////////f/AFgEQCAJQjSIpyEAIAlCAFMNAiACQcgCaiEHQQAMAwtBuKDBAEG7oMEAIAlCAFkiABtBv6DBACALUCIEGyEDQQNBBCAAG0EDIAQbIQAMAwsgASgCHEHYgMEAQQQgASgCICgCDBEBAAwDCyACQckCaiEHIAJBLToAyAJBAQshBgJ/An8CQAJAAkAgAEH/D3EiAEUgC1BxRQRAIABBAkkgC0IAUnIhAyALQoCAgICAgIAIhCALIAAbIglCAoYhCiAJQgGDIQ8gAEG1CGtBzHcgABsiAEEASARAIAJBkAJqQdjRwAAgACAAQYWiU2xBFHYgAEF/R2siAGoiBUEEdCIEaykDACIJIApCAoQiDBBIIAJBgAJqQeDRwAAgBGspAwAiCyAMEEggAkHwAWogAkGYAmopAwAiDCACKQOAAnwiDSACQYgCaikDACAMIA1WrXwgACAFQbHZtR9sQRN2a0H8AGpB/wBxQcAAcyIEEFIgAkGwAWogCSAKIANBf3OsfCIMEEggAkGgAWogCyAMEEggAkGQAWogAkG4AWopAwAiDCACKQOgAXwiDSACQagBaikDACAMIA1WrXwgBBBSIAJB4AFqIAkgChBIIAJB0AFqIAsgChBIIAJBwAFqIAJB6AFqKQMAIgkgAikD0AF8IgsgAkHYAWopAwAgCSALVq18IAQQUiACKQPAASEMIAIpA5ABIQ0gAikD8AEhCSAAQQJPBEAgCkJ/IACthkJ/hYNQRSAAQT9Pcg0EDAULIAkgD30hCUEBIQggAyAPUHEMBQsgAkGAAWogAEHB6ARsQRJ2IABBA0trIgVBBHQiBEH4psAAaikDACIJIApCAoQiCxBIIAJB8ABqIARBgKfAAGopAwAiDCALEEggAkHgAGogAkGIAWopAwAiDSACKQNwfCIOIAJB+ABqKQMAIA0gDlatfCAFIABrIAVBz6bKAGxBE3ZqQf0AakH/AHFBwABzIgAQUiACQSBqIAkgCiADQX9zrHwiDRBIIAJBEGogDCANEEggAiACQShqKQMAIg0gAikDEHwiDiACQRhqKQMAIA0gDlatfCAAEFIgAkHQAGogCSAKEEggAkFAayAMIAoQSCACQTBqIAJB2ABqKQMAIgkgAikDQHwiDCACQcgAaikDACAJIAxWrXwgABBSIAIpAzAhDCACKQMAIQ0gAikDYCEJIAVBFk8NAkEAIAqnayAKQgWAp0F7bEYEQEF/IQADQCAAQQFqIQAgCkLNmbPmzJmz5kx+IgpCs+bMmbPmzJkzWA0ACyAAIAVPDQQMAwsgD1BFBEBBfyEAA0AgAEEBaiEAIAtCzZmz5syZs+ZMfiILQrTmzJmz5syZM1QNAAsgCSAAIAVPrX0hCQwDCyADrUJ/hSAKfCEKQX8hAANAIABBAWohACAKQs2Zs+bMmbPmTH4iCkKz5syZs+bMmTNYDQALDAELIAdBAmpBgvzAAC0AADoAACAHQYD8wAAvAAA7AAAgCUI/iKdBA2ohACACQcgCaiEDDAULIAAgBUkNAEEBDAILQQAhAwJ/IAlC5ACAIgsgDULkAIAiDlgEQCANIQ4gCSELIAwhCkEADAELIAynIAxC5ACAIgqnQZx/bGpBMUshA0ECCyEAIAtCCoAiCyAOQgqAIglWBH8DQCAAQQFqIQAgCiIMQgqAIQogC0IKgCILIAkiDkIKgCIJVg0ACyAMpyAKp0F2bGpBBEsFIAMLIAogDlFyDAILQQEhCEEACyEEQQAhAwJAIAlCCoAiCiANQgqAIg5YBEBBACEAIA0hCyAMIQkMAQtBACEAA0AgBEEAIA2nayAOIgunQXZsRnEhBCAAQQFqIQAgCCADQf8BcUVxIQggDKcgDEIKgCIJp0F2bGohAyAJIQwgCyENIApCCoAiCiALQgqAIg5WDQALCwJAAkAgBARAQQAgC6drIAtCCoAiDKdBdmxGDQELIAkhCgwBCwNAIABBAWohACAIIANB/wFxRXEhCCAJpyAJQgqAIgqnQXZsaiEDIAohCUEAIAynayAMIgtCCoAiDKdBdmxGDQALCyAPpyAEQX9zciAKIAtRcUEEQQUgCkIBg1AbIAMgA0H/AXFBBUYbIAMgCBtB/wFxQQRLcgshAwJAAn8CfwJAAkACQAJ/AkACQAJAIAAgBWoiBEEATiAEAn9BESAKIAOtQgGDfCIJQv//g/6m3uERVg0AGkEQIAlC//+Zpuqv4wFWDQAaQQ8gCUL//+iDsd4WVg0AGkEOIAlC/7/K84SjAlYNABpBDSAJQv+flKWNHVYNABpBDCAJQv/P28P0AlYNABpBCyAJQv/Hr6AlVg0AGkEKIAlC/5Pr3ANWDQAaQQkgCUL/wdcvVg0AGkEIIAlC/6ziBFYNABpBByAJQr+EPVYNABpBBiAJQp+NBlYNABpBBSAJQo/OAFYNABpBBCAJQucHVg0AGkEDIAlC4wBWDQAaQQJBASAJQglWGwsiAGoiBUERSHFFBEAgBUEBayIDQRBJDQEgBUEEakEFSQ0CIABBAUcNBSACQcgCaiIAIAZqIAmnQTBqOgAAIAdB5QA6AAEgACAGQQJyIgZqIQQgA0EASA0DIAMMBAsgCSAAIAdqECkgACAFSARAIAJByAJqIABqIAZqQTAgBBAoGgsgBSAGaiIAIAJByAJqIgNqQa7gADsAACAAQQJqIQAMCgsgCSAAIAZqQQFqIgAgAkHIAmoiA2oQKSAHIAdBAWogBRCGASAFakEuOgAADAkLIAJByAJqIAZqIgRBMDoAACAHQS46AAFBAiAFayEDIAVBAEgEQCAEQQJqQTBBAyADIANBA00bQQJrECgaCyAJIAAgBmogA2oiACACQcgCaiIDahApDAgLIARBLToAACAEQQFqIQRBASAFawsiAEHjAEoNASAAQQlMBEAgBCAAQTBqOgAAIANBH3ZBAWohAAwGCyAEIABBAXRBuPrAAGovAAA7AAAgA0EfdkECciEADAULIAkgACAGaiIAIAJByAJqIghqIgRBAWoQKSAGIAhqIActAAE6AAAgB0EuOgABIARB5QA6AAEgCCAAQQJqIgZqIQQgA0EASA0BIAMMAgsgBCAAQeQAbiIFQTBqOgAAIAQgACAFQeQAbGtBAXRBuPrAAGovAAA7AAEgA0EfdkEDaiEADAMLIARBLToAACAEQQFqIQRBASAFawsiAEHjAEwEQCAAQQlMBEAgBCAAQTBqOgAAIANBH3ZBAWoMAgsgBCAAQQF0Qbj6wABqLwAAOwAAIANBH3ZBAnIMAQsgBCAAQeQAbiIFQTBqOgAAIAQgACAFQeQAbGtBAXRBuPrAAGovAAA7AAEgA0EfdkEDagsgBmohACACQcgCaiEDDAELIAAgBmohACACQcgCaiEDCyACIAA2AsQCIAIgAzYCwAIgAkECNgKkAiACQciAwQA2AqACIAJCATcCrAIgAiACQcACaq1CgICAgBCENwO4AiACIAJBuAJqNgKoAiABKAIcIAEoAiAgAkGgAmoQHQsgAkHgAmokAAv1GgELfyMAQfAAayIFJAACQAJAIAAQOCIBDQAgAEEANgIIIABBDGohCwJAAkAgACgCFCIBIAAoAhAiAk8EQCALKAIAIQYMAQsgACgCDCEGAkACQANAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASAGai0AACIDQQlrDiUBAQcHAQcHBwcHBwcHBwcHBwcHBwcHBwEHBQcHBwcHBwcHBwcIAAsgA0HbAGsOIQUGBgYGBgYGBgYGAwYGBgYGBgYBBgYGBgYCBgYGBgYGBQYLIAAgAUEBaiIBNgIUIAEgAkcNCyACIQEMDgsgACABQQFqIgM2AhQgAiADTQ0MIAAgAUECaiIENgIUAkAgAyAGai0AAEH1AEcNACAEIAMgAiACIANJGyIDRg0NIAAgAUEDaiIHNgIUIAQgBmotAABB7ABHBEAgByEEDAELIAMgB0YNDSAAIAFBBGoiBDYCFCAGIAdqLQAAQewARg0ICyAFQcgAaiAGIAIgBBAgQZypwQAtAAAaIAUoAkwhACAFKAJIIQJBFBAMIgFFDRAgAUEJNgIADA4LIAAgAUEBaiIDNgIUIAIgA00NCiAAIAFBAmoiBDYCFAJAIAMgBmotAABB8gBHDQAgBCADIAIgAiADSRsiA0YNCyAAIAFBA2oiBzYCFCAEIAZqLQAAQfUARwRAIAchBAwBCyADIAdGDQsgACABQQRqIgQ2AhQgBiAHai0AAEHlAEYNBwsgBUHYAGogBiACIAQQIEGcqcEALQAAGiAFKAJcIQAgBSgCWCECQRQQDCIBRQ0PIAFBCTYCAAwNCyAAIAFBAWoiAzYCFCACIANNDQcgACABQQJqIgQ2AhQCQCADIAZqLQAAQeEARw0AIAQgAyACIAIgA0kbIgNGDQggACABQQNqIgc2AhQgBCAGai0AAEHsAEcEQCAHIQQMAQsgAyAHRg0IIAAgAUEEaiIINgIUIAYgB2otAABB8wBHBEAgCCEEDAELIAMgCEYNCCAAIAFBBWoiBDYCFCAGIAhqLQAAQeUARg0GCyAFQegAaiAGIAIgBBAgQZypwQAtAAAaIAUoAmwhACAFKAJoIQJBFBAMIgFFDQ4gAUEJNgIADAwLIAAgAUEBajYCFCALECciAUUNBAwMCyAKQQFxIgQgACgCACAAKAIIIgFrSwRAIwBBIGsiAiQAAkACf0EAIAEgASAEaiIHSw0AGkEAQQggByAAKAIAIgFBAXQiCCAHIAhLGyIHIAdBCE0bIgdBAEgNABogAiABBH8gAiABNgIcIAIgACgCBDYCFEEBBUEACzYCGCACQQhqQQEgByACQRRqEEQgAigCCEEBRw0BIAIoAhAhACACKAIMCyAAQeiiwQAQegALIAIoAgwhASAAIAc2AgAgACABNgIEIAJBIGokACAAKAIIIQELIAAgBAR/IAAoAgQgAWogCToAACABQQFqBSABCzYCCCAAIAAoAhRBAWo2AhRBACEEDAQLIANBMGtB/wFxQQpJDQEgBUE4aiAGIAIgAUEBaiIAIAIgACACSRsQIEGcqcEALQAAGiAFKAI8IQAgBSgCOCECQRQQDCIBRQ0LIAFBCjYCAAwJCyAAIAFBAWo2AhQLAn8jAEEgayIHJAAgACgCDCEIAkACQAJAAkACQCAAKAIUIgIgACgCECIDSQRAIAAgAkEBaiIBNgIUIAIgCGotAAAiBEEwRgRAIAEgA08NBCABIAhqLQAAQTBrQf8BcUEKSQ0DDAQLIARBMWtB/wFxQQhNDQEgASECCyAHQRhqIAggAyACECBBnKnBAC0AABogBygCHCEBIAcoAhghBEEUEAwiAkUNBCACIAQ2AgwgAkENNgIAIAIgATYCEAwDCyABIANPDQEDQCABIAhqLQAAQTBrQf8BcUEJSw0CIAAgAUEBaiIBNgIUIAEgA0cNAAtBACECDAILIAdBCGogCCADIAJBAmoiASADIAEgA0kbECBBnKnBAC0AABogBygCDCEBIAcoAgghBEEUEAwiAkUNAiACIAQ2AgwgAkENNgIAIAIgATYCEAwBC0EAIQIgASADTw0AAkACQCABIAhqLQAAIgRB5QBGIARBxQBGckUEQCAEQS5HDQMgACABQQFqIgQ2AhQgAyAETQ0BIAQgCGotAABBMGtB/wFxQQlLDQEgAUECaiEBA0AgAyABIgRGDQMgAUEBaiEBIAQgCGotAAAiBkEwa0H/AXFBCkkNAAsgACAENgIUIAZBIHJB5QBHDQMLAn8jAEEQayIEJAAgACAAKAIUIgJBAWoiATYCFCAAKAIMIQMCQCABIAAoAhAiCE8NAAJAIAEgA2otAABBK2sOAwABAAELIAAgAkECaiIBNgIUCwJAAkACQCAEQQhqIAMgCCABIAhJBH8gACABQQFqIgI2AhQgASADai0AAEEwa0H/AXFBCU0NASACBSABCxAgQZypwQAtAAAaIAQoAgwhAiAEKAIIIQNBFBAMIgFFDQIgASADNgIMIAFBDTYCACABIAI2AhAMAQtBACEBIAIgCE8NAANAIAIgA2otAABBMGtB/wFxQQlLDQEgACACQQFqIgI2AhQgAiAIRw0ACwsgBEEQaiQAIAEMAQsACyECDAILIAdBEGogCCADIAFBAmoiASADIAEgA0kbECBBnKnBAC0AABogBygCFCEBIAcoAhAhBEEUEAwiAkUNAiACIAQ2AgwgAkENNgIAIAIgATYCEAwBCyAAIAM2AhQLIAdBIGokACACDAELAAsiAQ0IC0EBIQQgCkEBcQRAIAkhAwwBCyAAKAIIIgFFBEBBACEBDAgLIAAgAUEBayIBNgIIIAAoAgQgAWotAAAhAwsCQAJ/AkACQAJAAkAgACgCFCIBIAAoAhAiAk8EQCADIQkMAQsgACgCBCEHIAAoAgwhBiAAKAAIIQogAyEJA0ACQAJAAkACQAJAAkAgASAGai0AACIDQQlrDiQBAQgIAQgICAgICAgICAgICAgICAgICAEICAgICAgICAgICAIACyADQd0ARg0CIANB/QBGDQMMBwsgACABQQFqIgE2AhQgASACRw0EIAIhAQwFCyAEQQFxRQ0GIAAgAUEBaiIBNgIUDAYLIAlB/wFxQdsARw0EDAELIAlB/wFxQfsARw0DCyAAIAFBAWoiATYCFCAKRQRAQQAhAQwOCyAAIApBAWsiCjYCCCAHIApqLQAAIQlBASEEIAEgAkkNAAsLQQIhBgJAIAlB/wFxIgBB2wBHBEAgAEH7AEcNAUEDIQYLIAVBMGogCygCACACIAFBAWoiACACIAAgAkkbECBBnKnBAC0AABogBSgCNCEAIAUoAjAhAkEUEAwiAUUNDSABIAY2AgAMCwtB+4PAAEEoQaSEwAAQVwALIARBAXFFDQBBByAJQf8BcSIAQdsARg0CGiAAQfsARg0BQfuDwABBKEG0hMAAEFcACyAJQf8BcUH7AEcNAiABIAJJBEADQAJAAkAgASAGai0AAEEJayIEQRlLDQBBASAEdEGTgIAEcQ0BIARBGUcNACAAIAFBAWo2AhQgCxAnIgENDSAAKAIMIQYCQAJAIAAoAhQiASAAKAIQIgJJBEADQAJAIAEgBmotAABBCWsOMgAAAwMAAwMDAwMDAwMDAwMDAwMDAwMDAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEAwsgACABQQFqIgE2AhQgASACRw0ACyACIQELIAVBIGogBiACIAFBAWoiACACIAAgAkkbECBBnKnBAC0AABogBSgCJCEAIAUoAiAhAkEUEAwiAUUNECABQQM2AgAMDgsgBUEYaiAGIAIgAUEBaiIAIAIgACACSRsQIEGcqcEALQAAGiAFKAIcIQAgBSgCGCECQRQQDCIBRQ0PIAFBBjYCAAwNCyAAIAFBAWoiATYCFAwGCyAFQQhqIAYgAiABQQFqIgAgAiAAIAJJGxAgQZypwQAtAAAaIAUoAgwhACAFKAIIIQJBFBAMIgFFDQ0gAUERNgIADAsLIAAgAUEBaiIBNgIUIAEgAkcNAAsgAiEBCyAFQRBqIAYgAiABQQFqIgAgAiAAIAJJGxAgQZypwQAtAAAaIAUoAhQhACAFKAIQIQJBFBAMIgFFDQogAUEDNgIADAgLQQgLIQQgBSAGIAIgAUEBaiIAIAIgACACSRsQIEGcqcEALQAAGiAFKAIEIQAgBSgCACECQRQQDCIBRQ0IIAEgBDYCAAwGC0EBIQogASACSQ0BDAQLCyAFQeAAaiAGIAIgAxAgQZypwQAtAAAaIAUoAmQhACAFKAJgIQJBFBAMIgFFDQUgAUEFNgIADAMLIAVB0ABqIAYgAiADECBBnKnBAC0AABogBSgCVCEAIAUoAlAhAkEUEAwiAUUNBCABQQU2AgAMAgsgBUFAayAGIAIgAxAgQZypwQAtAAAaIAUoAkQhACAFKAJAIQJBFBAMIgFFDQMgAUEFNgIADAELIAVBKGogBiACIAFBAWoiACACIAAgAkkbECBBnKnBAC0AABogBSgCLCEAIAUoAighAkEUEAwiAUUNAiABQQU2AgALIAEgAjYCDCABIAA2AhALIAVB8ABqJAAgAQ8LAAvLCgELfwJAAkACQCAAKAIAIgggACgCCCIEcgRAAkAgBEEBcUUNACABIAJqIQYCQCAAKAIMIgpFBEAgASEEDAELIAEhBANAIAQiAyAGRg0CAn8gA0EBaiADLAAAIgVBAE4NABogA0ECaiAFQWBJDQAaIANBA2ogBUFwSQ0AGiADQQRqCyIEIANrIAdqIQcgCiAJQQFqIglHDQALCyAEIAZGDQAgBCwAABogByACAn8CQCAHRQ0AIAIgB00EQCACIAdGDQFBAAwCCyABIAdqLAAAQUBODQBBAAwBCyABCyIDGyECIAMgASADGyEBCyAIRQ0DIAAoAgQhCyACQRBPBEAgAiABIAFBA2pBfHEiB2siCWoiCkEDcSEIQQAhBUEAIQMgASAHRwRAIAlBfE0EQEEAIQYDQCADIAEgBmoiBCwAAEG/f0pqIARBAWosAABBv39KaiAEQQJqLAAAQb9/SmogBEEDaiwAAEG/f0pqIQMgBkEEaiIGDQALCyABIQQDQCADIAQsAABBv39KaiEDIARBAWohBCAJQQFqIgkNAAsLAkAgCEUNACAHIApBfHFqIgQsAABBv39KIQUgCEEBRg0AIAUgBCwAAUG/f0pqIQUgCEECRg0AIAUgBCwAAkG/f0pqIQULIApBAnYhBiADIAVqIQUDQCAHIQkgBkUNBEHAASAGIAZBwAFPGyIIQQNxIQogCEECdCEMQQAhBCAGQQRPBEAgByAMQfAHcWohDSAHIQMDQCAEIAMoAgAiBEF/c0EHdiAEQQZ2ckGBgoQIcWogAygCBCIEQX9zQQd2IARBBnZyQYGChAhxaiADKAIIIgRBf3NBB3YgBEEGdnJBgYKECHFqIAMoAgwiBEF/c0EHdiAEQQZ2ckGBgoQIcWohBCADQRBqIgMgDUcNAAsLIAYgCGshBiAJIAxqIQcgBEEIdkH/gfwHcSAEQf+B/AdxakGBgARsQRB2IAVqIQUgCkUNAAsgCSAIQfwBcUECdGoiBCgCACIDQX9zQQd2IANBBnZyQYGChAhxIQMgCkEBRg0CIAMgBCgCBCIDQX9zQQd2IANBBnZyQYGChAhxaiEDIApBAkYNAiAEKAIIIgRBf3NBB3YgBEEGdnJBgYKECHEgA2ohAwwCCyACRQRAQQAhBQwDCyACQQNxIQQCfyACQQRJBEBBACEDQQAMAQsgASwAAEG/f0ogASwAAUG/f0pqIAEsAAJBv39KaiABLAADQb9/SmoiBSACQQxxIgNBBEYNABogBSABLAAEQb9/SmogASwABUG/f0pqIAEsAAZBv39KaiABLAAHQb9/SmoiBSADQQhGDQAaIAUgASwACEG/f0pqIAEsAAlBv39KaiABLAAKQb9/SmogASwAC0G/f0pqCyEFIARFDQIgASADaiEDA0AgBSADLAAAQb9/SmohBSADQQFqIQMgBEEBayIEDQALDAILDAILIANBCHZB/4EccSADQf+B/AdxakGBgARsQRB2IAVqIQULAkAgBSALSQRAIAsgBWshBgJAAkACQCAALQAYIgRBACAEQQNHGyIDQQFrDgIAAQILIAYhA0EAIQYMAQsgBkEBdiEDIAZBAWpBAXYhBgsgA0EBaiEDIAAoAhAhByAAKAIgIQQgACgCHCEAA0AgA0EBayIDRQ0CIAAgByAEKAIQEQAARQ0AC0EBDwsMAQsgACABIAIgBCgCDBEBAARAQQEPC0EAIQMDQCADIAZGBEBBAA8LIANBAWohAyAAIAcgBCgCEBEAAEUNAAsgA0EBayAGSQ8LIAAoAhwgASACIAAoAiAoAgwRAQALnQsBCH8jAEGAAWsiBCQAIAAoAgwhBgJAAkACQAJAAkACQCAAKAIUIgggACgCECIDSQRAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAYgCGotAAAiBUHbAGsOIQQLCwsLCwsLCwsLAwsLCwsLCwsBCwsLCwsCCwsLCwsLBQALIAVBImsODAkKCgoKCgoKCgoKCAoLIAAgCEEBaiIFNgIUIAMgBU0NDiAAIAhBAmoiBzYCFAJAIAUgBmotAABB9QBHDQAgAyEFIAMgB0YNDyAAIAhBA2oiCTYCFCAGIAdqLQAAQewARwRAIAkhBwwBCyADIAlGDQ8gACAIQQRqIgc2AhQgBiAJai0AAEHsAEYNBQsgBEEYaiAGIAMgBxAgQZypwQAtAAAaIAQoAhwhACAEKAIYIQFBFBAMIgNFDRAgAyABNgIMIANBCTYCACADIAA2AhAMDwsgACAIQQFqIgU2AhQgAyAFTQ0MIAAgCEECaiIHNgIUAkAgBSAGai0AAEHyAEcNACADIQUgAyAHRg0NIAAgCEEDaiIJNgIUIAYgB2otAABB9QBHBEAgCSEHDAELIAMgCUYNDSAAIAhBBGoiBzYCFCAGIAlqLQAAQeUARg0FCyAEQShqIAYgAyAHECBBnKnBAC0AABogBCgCLCEAIAQoAighAUEUEAwiA0UNDyADIAE2AgwgA0EJNgIAIAMgADYCEAwOCyAAIAhBAWoiBTYCFCADIAVNDQogACAIQQJqIgc2AhQCQCAFIAZqLQAAQeEARw0AIAMhBSADIAdGDQsgACAIQQNqIgk2AhQgBiAHai0AAEHsAEcEQCAJIQcMAQsgAyAJRg0LIAAgCEEEaiIKNgIUIAYgCWotAABB8wBHBEAgCiEHDAELIAMgCkYNCyAAIAhBBWoiBzYCFCAGIApqLQAAQeUARg0FCyAEQThqIAYgAyAHECBBnKnBAC0AABogBCgCPCEAIAQoAjghAUEUEAwiA0UNDiADIAE2AgwgA0EJNgIAIAMgADYCEAwNCyAEQQo6AHAgBEHwAGogASACEEUgABBCIQMMDAsgBEELOgBwIARB8ABqIAEgAhBFIAAQQiEDDAsLIARBBzoAcCAEQfAAaiABIAIQRSAAEEIhAwwKCyAEQYACOwFwIARB8ABqIAEgAhBFIAAQQiEDDAkLIARBADsBcCAEQfAAaiABIAIQRSAAEEIhAwwICyAAIAhBAWo2AhQgBEFAayIFIABBABAfIAQpA0BCA1IEQCAFIAEgAhBMIAAQQiEDDAgLIAQoAkghAwwHCyAAQQA2AgggACAIQQFqNgIUIARB5ABqIABBDGogABASIAQoAmghAyAEKAJkQQJGDQYgBCAEKAJsNgJ4IAQgAzYCdCAEQQU6AHAgBEHwAGogASACEEUgABBCIQMMBgsgBUEwa0H/AXFBCkkNAQsgBEEIaiAGIAMgCEEBaiIBIAMgASADSRsQIEGcqcEALQAAGiAEKAIMIQIgBCgCCCEDQRQQDCIBRQ0FIAEgAzYCDCABQQo2AgAgASACNgIQIAEgABBCIQMMBAsgBEHQAGoiBSAAQQEQHyAEKQNQQgNSBEAgBSABIAIQTCAAEEIhAwwECyAEKAJYIQMMAwsgBEEwaiAGIAMgBRAgQZypwQAtAAAaIAQoAjQhACAEKAIwIQFBFBAMIgNFDQMgAyABNgIMIANBBTYCACADIAA2AhAMAgsgBEEgaiAGIAMgBRAgQZypwQAtAAAaIAQoAiQhACAEKAIgIQFBFBAMIgNFDQIgAyABNgIMIANBBTYCACADIAA2AhAMAQsgBEEQaiAGIAMgBRAgQZypwQAtAAAaIAQoAhQhACAEKAIQIQFBFBAMIgNFDQEgAyABNgIMIANBBTYCACADIAA2AhALIARBgAFqJAAgAw8LAAu/CwEGfyMAQSBrIgQkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEOKAYBAQEBAQEBAQIEAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEJAQEBAQcACyABQdwARg0ECyABQYAGSQ0LIAJBAXENBgwLCyAAQYAEOwEKIABCADcBAiAAQdzoATsBAAwMCyAAQYAEOwEKIABCADcBAiAAQdzkATsBAAwLCyAAQYAEOwEKIABCADcBAiAAQdzcATsBAAwKCyAAQYAEOwEKIABCADcBAiAAQdy4ATsBAAwJCyAAQYAEOwEKIABCADcBAiAAQdzgADsBAAwICyACQYACcUUNBiAAQYAEOwEKIABCADcBAiAAQdzOADsBAAwHC0ERQQAgAUGvsARPGyICIAJBCHIiAyABQQt0IgIgA0ECdEHAncAAaigCAEELdEkbIgMgA0EEciIDIANBAnRBwJ3AAGooAgBBC3QgAksbIgMgA0ECciIDIANBAnRBwJ3AAGooAgBBC3QgAksbIgMgA0EBaiIDIANBAnRBwJ3AAGooAgBBC3QgAksbIgMgA0EBaiIDIANBAnRBwJ3AAGooAgBBC3QgAksbIgNBAnRBwJ3AAGooAgBBC3QiBSACRiACIAVLaiADaiIDQSFLDQEgA0ECdEHAncAAaiIFKAIAQRV2IQJB7wUhBgJ/AkAgA0EhRg0AIAUoAgRBFXYhBiADDQBBAAwBCyAFQQRrKAIAQf///wBxCyEFAkAgBiACQX9zakUNACABIAVrIQhB7wUgAiACQe8FTRshByAGQQFrIQNBACEFA0AgAiAHRg0EIAUgAkHInsAAai0AAGoiBSAISw0BIAMgAkEBaiICRw0ACyADIQILIAJBAXFFDQQgBEEAOgAKIARBADsBCCAEIAFBFHZB6orAAGotAAA6AAsgBCABQQR2QQ9xQeqKwABqLQAAOgAPIAQgAUEIdkEPcUHqisAAai0AADoADiAEIAFBDHZBD3FB6orAAGotAAA6AA0gBCABQRB2QQ9xQeqKwABqLQAAOgAMIAFBAXJnQQJ2IgIgBEEIaiIFaiIDQfsAOgAAIANBAWtB9QA6AAAgBSACQQJrIgJqQdwAOgAAIARBEGoiAyABQQ9xQeqKwABqLQAAOgAAIABBCjoACyAAIAI6AAogACAEKQIINwIAIARB/QA6ABEgAEEIaiADLwEAOwEADAYLIAJBgIAEcQ0CDAQLIANBIkGInMAAEE4ACyAHQe8FQZicwAAQTgALIABBgAQ7AQogAEIANwECIABB3MQAOwEADAILAkAgAUEgSQ0AIAFB/wBJDQEgAUGAgARPBEAgAUGAgAhJBEAgAUG0kMAAQSxBjJHAAEHQAUHcksAAQeYDEDJFDQIMAwsgAUH+//8AcUGe8ApGIAFB4P//AHFB4M0KRnIgAUHA7gprQXlLIAFBsJ0La0FxS3JyIAFB8NcLa0FwSyABQYDwC2tB3WxLciABQYCADGtBnXRLIAFB0KYMa0F6S3Jycg0BIAFBgII4a0GvxVRLIAFB8IM4T3INAQwCCyABQcKWwABBKEGSl8AAQaICQbSZwABBqQIQMg0BCyAEQQA6ABYgBEEAOwEUIAQgAUEUdkHqisAAai0AADoAFyAEIAFBBHZBD3FB6orAAGotAAA6ABsgBCABQQh2QQ9xQeqKwABqLQAAOgAaIAQgAUEMdkEPcUHqisAAai0AADoAGSAEIAFBEHZBD3FB6orAAGotAAA6ABggAUEBcmdBAnYiAiAEQRRqIgVqIgNB+wA6AAAgA0EBa0H1ADoAACAFIAJBAmsiAmpB3AA6AAAgBEEcaiIDIAFBD3FB6orAAGotAAA6AAAgAEEKOgALIAAgAjoACiAAIAQpAhQ3AgAgBEH9ADoAHSAAQQhqIAMvAQA7AQAMAQsgACABNgIEIABBgAE6AAALIARBIGokAAuKEgEJfyMAQSBrIgkkAAJAAkADQAJAIAEoAgghAyABEDoCQAJAAkACQCABKAIIIgUgASgCBCIHRwRAIAUgB0kNASAFIAdBoIPBABBOAAsgCSABKAIAIAUgBRAgQZypwQAtAAAaIAkoAgQhAiAJKAIAIQNBFBAMIgFFDQEgASADNgIMIAFBBDYCACAAIAE2AgQgAEECNgIAIAEgAjYCEAwHCwJAIAEoAgAiBiAFai0AACIEQdwARwRAIARBIkYNASABIAVBAWoiATYCCCAJQQhqIAYgByABECBBnKnBAC0AABogCSgCDCECIAkoAgghA0EUEAwiAUUNAiABIAM2AgwgAUEQNgIAIAAgATYCBCAAQQI2AgAgASACNgIQDAgLIAMgBU0EQCAFIANrIgogAigCACACKAIIIghrSwRAIAIgCCAKED4gAigCCCEICyACKAIEIgQgCGogAyAGaiAKEBoaIAEgBUEBaiILNgIIIAIgCCAKaiIDNgIIAkACQAJAAkACQAJAAkACQAJAAkAgByALSwRAIAEgBUECaiIFNgIIIAYgC2otAABBImsOVAMBAQEBAQEBAQEBAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEEAQEBAQEGAQEBBwEBAQEBAQEIAQEBCQEKAgELIAlBGGogBiAHIAsQIEGcqcEALQAAGiAJKAIcIQEgCSgCGCECQRQQDCIDRQ0MIANBBDYCAAwPCyAJQRBqIAYgByAFECBBnKnBAC0AABogCSgCFCEBIAkoAhAhAkEUEAwiA0UNCyADQQw2AgAMDgsjAEFAaiIEJAAgBEE4aiIKIAEQNQJAAkACQAJAAkACQAJAAkACQAJAIAQvAThFBEAgBC8BOiIFQYD4A3FBgLgDRg0BIAVBgMgAakH//wNxQYD4A0kNCCABKAIIIgYgASgCBCIDTw0CIAEgBkEBaiIHNgIIIAEoAgAiCCAGai0AAEHcAEcNByADIAdNDQMgASAGQQJqIgY2AgggByAIai0AAEH1AEcNBiAKIAEQNSAELwE4DQQgBC8BOiIGQYBAa0H//wNxQYD4A0kNBSAGQYDIAGpB//8DcSAFQYDQAGpB//8DcUEKdHIiB0GAgARqIQUgAigCACACKAIIIgNrQQNNBEAgAiADQQQQPiACKAIIIQMLIAIgA0EEajYCCCACKAIEIANqIgMgBUESdkHwAXI6AAAgA0EDaiAGQT9xQYABcjoAACADIAdBBnZBP3FBgAFyOgACIAMgBUEMdkE/cUGAAXI6AAFBACEDDAoLIAQoAjwhAwwJCyAEQQhqIAEoAgAgASgCBCABKAIIECBBnKnBAC0AABogBCgCDCEFIAQoAgghBkEUEAwiA0UNByADIAY2AgwgA0EUNgIAIAMgBTYCEAwICyAEQTBqIAEoAgAgAyAGECBBnKnBAC0AABogBCgCNCEFIAQoAjAhBkEUEAwiA0UNBiADIAY2AgwgA0EENgIAIAMgBTYCEAwHCyAEQSBqIAggAyAHECBBnKnBAC0AABogBCgCJCEFIAQoAiAhBkEUEAwiA0UNBSADIAY2AgwgA0EENgIAIAMgBTYCEAwGCyAEKAI8IQMMBQsgBEEQaiABKAIAIAEoAgQgASgCCBAgQZypwQAtAAAaIAQoAhQhBSAEKAIQIQZBFBAMIgNFDQMgAyAGNgIMIANBFDYCACADIAU2AhAMBAsgBEEYaiAIIAMgBhAgQZypwQAtAAAaIAQoAhwhBSAEKAIYIQZBFBAMIgNFDQIgAyAGNgIMIANBFzYCACADIAU2AhAMAwsgBEEoaiAIIAMgBxAgQZypwQAtAAAaIAQoAiwhBSAEKAIoIQZBFBAMIgNFDQEgAyAGNgIMIANBFzYCACADIAU2AhAMAgsgBUGAAU8EQCACKAIAIAIoAggiA2tBA00EQCACIANBBBA+IAIoAgghAwsgAigCBCADaiEGAn8gBUGAEEkEQCAFQQZ2QUByIQdBAgwBCyAGIAVBBnZBP3FBgAFyOgABIAVBDHZBYHIhB0EDCyEIIAYgBzoAACACIAMgCGo2AgggBiAIakEBayAFQT9xQYABcjoAAEEAIQMMAgsgAigCCCIDIAIoAgBGBEAgAkGAhcEAEEALIAIgA0EBajYCCCACKAIEIANqIAU6AABBACEDDAELAAsgBEFAayQAIANFDQ4MDwsgAigCACADRgRAIAJBgITBABBAIAIoAgQhBAsgAiADQQFqNgIIIAMgBGpBIjoAAAwLCyACKAIAIANGBEAgAkGQhMEAEEAgAigCBCEECyACIANBAWo2AgggAyAEakHcADoAAAwKCyACKAIAIANGBEAgAkGghMEAEEAgAigCBCEECyACIANBAWo2AgggAyAEakEvOgAADAkLIAIoAgAgA0YEQCACQbCEwQAQQCACKAIEIQQLIAIgA0EBajYCCCADIARqQQg6AAAMCAsgAigCACADRgRAIAJBwITBABBAIAIoAgQhBAsgAiADQQFqNgIIIAMgBGpBDDoAAAwHCyACKAIAIANGBEAgAkHQhMEAEEAgAigCBCEECyACIANBAWo2AgggAyAEakEKOgAADAYLIAIoAgAgA0YEQCACQeCEwQAQQCACKAIEIQQLIAIgA0EBajYCCCADIARqQQ06AAAMBQsgAigCACADRgRAIAJB8ITBABBAIAIoAgQhBAsgAiADQQFqNgIIIAMgBGpBCToAAAwECyADIAVB0IPBABB9AAsgAigCCCIERQ0BIAMgBUsEQCADIAVBwIPBABB9AAsgBSADayIHIAIoAgAgBGtLBEAgAiAEIAcQPiACKAIIIQQLIAIoAgQiCCAEaiADIAZqIAcQGhogASAFQQFqNgIIIAIgBCAHaiIBNgIIIAAgATYCCCAAIAg2AgQgAEEBNgIADAYLAAsgAyAFSwRAIAMgBUGwg8EAEH0ACyAAQQA2AgAgACAFIANrNgIIIAAgAyAGajYCBCABIAVBAWo2AggMBAsMAQsLIAMgAjYCDCADIAE2AhALIABBAjYCACAAIAM2AgQLIAlBIGokAAuwCAEFfyAAQQhrIgEgAEEEaygCACIDQXhxIgBqIQICQAJAIANBAXENACADQQJxRQ0BIAEoAgAiAyAAaiEAIAEgA2siAUHUqMEAKAIARgRAIAIoAgRBA3FBA0cNAUHMqMEAIAA2AgAgAiACKAIEQX5xNgIEIAEgAEEBcjYCBCACIAA2AgAPCyABIAMQMQsCQAJAAkACQAJAAkACQCACKAIEIgNBAnFFBEAgAkHYqMEAKAIARg0CIAJB1KjBACgCAEYNAyACIANBeHEiAhAxIAEgACACaiIAQQFyNgIEIAAgAWogADYCACABQdSowQAoAgBHDQFBzKjBACAANgIADwsgAiADQX5xNgIEIAEgAEEBcjYCBCAAIAFqIAA2AgALIABBgAJJDQJBHyECIAFCADcCECAAQf///wdNBEAgAEEGIABBCHZnIgJrdkEBcSACQQF0a0E+aiECCyABIAI2AhwgAkECdEGspcEAaiEDQQEgAnQiBEHIqMEAKAIAcQ0DIAMgATYCACABIAM2AhggASABNgIMIAEgATYCCEHIqMEAQciowQAoAgAgBHI2AgAMBAtB2KjBACABNgIAQdCowQBB0KjBACgCACAAaiIANgIAIAEgAEEBcjYCBEHUqMEAKAIAIAFGBEBBzKjBAEEANgIAQdSowQBBADYCAAsgAEHkqMEAKAIAIgJNDQVB2KjBACgCACIARQ0FQdCowQAoAgAiA0EpSQ0EQaymwQAhAQNAIAAgASgCACIFTwRAIAAgBSABKAIEakkNBgsgASgCCCEBDAALAAtB1KjBACABNgIAQcyowQBBzKjBACgCACAAaiIANgIAIAEgAEEBcjYCBCAAIAFqIAA2AgAPCyAAQfgBcUG8psEAaiECAn9BxKjBACgCACIDQQEgAEEDdnQiAHFFBEBBxKjBACAAIANyNgIAIAIMAQsgAigCCAshACACIAE2AgggACABNgIMIAEgAjYCDCABIAA2AggPCwJAAkAgACADKAIAIgMoAgRBeHFGBEAgAyECDAELIABBGSACQQF2a0EAIAJBH0cbdCEEA0AgAyAEQR12QQRxakEQaiIFKAIAIgJFDQIgBEEBdCEEIAIhAyACKAIEQXhxIABHDQALCyACKAIIIgAgATYCDCACIAE2AgggAUEANgIYIAEgAjYCDCABIAA2AggMAQsgBSABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIC0EAIQFB7KjBAEHsqMEAKAIAQQFrIgA2AgAgAA0BQbSmwQAoAgAiAARAA0AgAUEBaiEBIAAoAggiAA0ACwtB7KjBAEH/HyABIAFB/x9NGzYCAA8LQbSmwQAoAgAiAQRAA0AgBEEBaiEEIAEoAggiAQ0ACwtB7KjBAEH/HyAEIARB/x9NGzYCACACIANPDQBB5KjBAEF/NgIACwvjBwMJfwJ8An4jAEEwayIEJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABKAIUIgYgASgCECIFSQRAIAEoAgwiCSAGai0AACIHQS5GDQEgB0HFAEYgB0HlAEZyDQILIAJFDQJCASEPDAkLIAEgBkEBaiIGNgIUIAUgBk0NAyAGIAVrIQcCQANAIAYgCWotAAAiCkEwayILQf8BcSIMQQpPBEAgCEUNBiAKQSByQeUARwRAIAghBwwGCyAEQSBqIAEgAiADIAgQGAwJCyAMQQVLIANCmbPmzJmz5swZUnIgA0KYs+bMmbPmzBlWcQ0BIAEgBkEBaiIGNgIUIAhBAWshCCADQgp+IAutQv8Bg3whAyAFIAZHDQALIAUhBiAHRQ0FDAMLIARBIGogASACIAMgCBBKDAYLIARBIGogASACIANBABAYIAQoAiBFDQYgACAEKAIkNgIIIABCAzcDAAwJC0IAIAN9IhBCAFMEQEICIQ8gECEDDAcLIAO6vUKAgICAgICAgIB/hCEDDAYLIAO6IQ0CQAJAAkAgByAHQR91IgFzIAFrIgFBtQJPBEADQCANRAAAAAAAAAAAYQ0EIAdBAE4NAiANRKDI64XzzOF/oyENIAdBtAJqIgcgB0EfdSIBcyABayIBQbUCTw0ACwsgAUEDdEGQjcEAaisDACEOIAdBAE4NASANIA6jIQ0MAgsgBEEQaiAJIAUgBhAgQZypwQAtAAAaIAQoAhQhAiAEKAIQIQVBFBAMIgFFDQogASAFNgIMIAFBDjYCACABIAI2AhAgBCABNgIkIARBATYCIAwFCyANIA6iIg2ZRAAAAAAAAPB/Yg0AIARBCGogCSAFIAYQIEGcqcEALQAAGiAEKAIMIQIgBCgCCCEFQRQQDCIBRQ0JIAEgBTYCDCABQQ42AgAgASACNgIQIAQgATYCJCAEQQE2AiAMBAsgBCANIA2aIAIbOQMoIARBADYCIAwDCyAFIAZLDQELIAQgCSAFIAZBAWoiASAFIAEgBUkbECBBnKnBAC0AABogBCgCBCECIAQoAgAhBUEUEAwiAUUNBiABIAU2AgwgAUEFNgIAIAEgAjYCECAEIAE2AiQgBEEBNgIgDAELIARBGGogCSAFIAZBAWoiASAFIAEgBUkbECBBnKnBAC0AABogBCgCHCECIAQoAhghBUEUEAwiAUUNBSABIAU2AgwgAUENNgIAIAEgAjYCECAEIAE2AiQgBEEBNgIgCyAEKAIgDQILIAQpAyghAwsgACADNwMIIAAgDzcDAAwBCyAAIAQoAiQ2AgggAEIDNwMACyAEQTBqJAAPCwALwwYBDX8jAEEQayIFJAAgACgCBCEDIAAoAgAhBkEBIQsCQCABKAIcIgpBIiABKAIgIgwoAhAiDREAAA0AAkAgA0UEQEEAIQNBACEADAELIAYhByADIQECQAJAA0AgASAHaiEOQQAhAAJAA0AgACAHaiIILQAAIglB/wBrQf8BcUGhAUkgCUEiRnIgCUHcAEZyDQEgASAAQQFqIgBHDQALIAEgBGohBAwDCwJ/IAgsAAAiAUEATgRAIAFB/wFxIQEgCEEBagwBCyAILQABQT9xIQkgAUEfcSEHIAFBX00EQCAHQQZ0IAlyIQEgCEECagwBCyAILQACQT9xIAlBBnRyIQkgAUFwSQRAIAkgB0EMdHIhASAIQQNqDAELIAdBEnRBgIDwAHEgCC0AA0E/cSAJQQZ0cnIhASAIQQRqCyEHIAAgBGohACAFQQRqIAFBgYAEEBECQAJAIAUtAARBgAFGDQAgBS0ADyAFLQAOa0H/AXFBAUYNACAAIAJJDQECQCACRQ0AIAIgA08EQCACIANHDQMMAQsgAiAGaiwAAEG/f0wNAgsCQCAARQ0AIAAgA08EQCAAIANGDQEMAwsgACAGaiwAAEG/f0wNAgsgCiACIAZqIAAgAmsgDCgCDCICEQEADQMCQCAFLQAEQYABRgRAIAogBSgCCCANEQAARQ0BDAULIAogBS0ADiIEIAVBBGpqIAUtAA8gBGsgAhEBAA0ECwJ/QQEgAUGAAUkNABpBAiABQYAQSQ0AGkEDQQQgAUGAgARJGwsgAGohAgsCf0EBIAFBgAFJDQAaQQIgAUGAEEkNABpBA0EEIAFBgIAESRsLIABqIQQgDiAHayIBDQEMAwsLIAYgAyACIABB0IzAABB3AAsMAgsCQCACIARLDQBBACEAAkAgAkUNACACIANPBEAgAiADIgBHDQIMAQsgAiIAIAZqLAAAQb9/TA0BCyAERQRAQQAhAwwCCyADIARNBEAgACECIAMgBEYNAgwBCyAAIQIgBCAGaiwAAEG/f0wNACAEIQMMAQsgBiADIAIgBEHgjMAAEHcACyAKIAAgBmogAyAAayAMKAIMEQEADQAgCkEiIA0RAAAhCwsgBUEQaiQAIAsL0wYBBX8CQAJAAkACQAJAIABBBGsiBSgCACIHQXhxIgRBBEEIIAdBA3EiBhsgAWpPBEAgBkEAIAFBJ2oiCCAESRsNAQJAAkAgAkEJTwRAIAIgAxArIgINAUEADwtBACECIANBzP97Sw0BQRAgA0ELakF4cSADQQtJGyEBAkAgBkUEQCABQYACSSAEIAFBBHJJciAEIAFrQYGACE9yDQEMCQsgAEEIayIGIARqIQgCQAJAAkACQCABIARLBEAgCEHYqMEAKAIARg0EIAhB1KjBACgCAEYNAiAIKAIEIgdBAnENBSAHQXhxIgcgBGoiBCABSQ0FIAggBxAxIAQgAWsiAkEQSQ0BIAUgASAFKAIAQQFxckECcjYCACABIAZqIgEgAkEDcjYCBCAEIAZqIgMgAygCBEEBcjYCBCABIAIQGQwNCyAEIAFrIgJBD0sNAgwMCyAFIAQgBSgCAEEBcXJBAnI2AgAgBCAGaiIBIAEoAgRBAXI2AgQMCwtBzKjBACgCACAEaiIEIAFJDQICQCAEIAFrIgNBD00EQCAFIAdBAXEgBHJBAnI2AgAgBCAGaiIBIAEoAgRBAXI2AgRBACEDQQAhAQwBCyAFIAEgB0EBcXJBAnI2AgAgASAGaiIBIANBAXI2AgQgBCAGaiICIAM2AgAgAiACKAIEQX5xNgIEC0HUqMEAIAE2AgBBzKjBACADNgIADAoLIAUgASAHQQFxckECcjYCACABIAZqIgEgAkEDcjYCBCAIIAgoAgRBAXI2AgQgASACEBkMCQtB0KjBACgCACAEaiIEIAFLDQcLIAMQDCIBRQ0BIAEgAEF8QXggBSgCACIBQQNxGyABQXhxaiIBIAMgASADSRsQGiAAEBMPCyACIAAgAyABIAEgA0sbEBoaIAUoAgAiA0F4cSIFIAFBBEEIIANBA3EiARtqSQ0DIAFBACAFIAhLGw0EIAAQEwsgAg8LQaGjwQBBLkHQo8EAEFcAC0Hgo8EAQS5BkKTBABBXAAtBoaPBAEEuQdCjwQAQVwALQeCjwQBBLkGQpMEAEFcACyAFIAEgB0EBcXJBAnI2AgAgASAGaiICIAQgAWsiAUEBcjYCBEHQqMEAIAE2AgBB2KjBACACNgIAIAAPCyAAC8IGAQd/IwBBMGsiBCQAIAEoAgAiBygCDCEGAkACQAJAIAcoAhQiAyAHKAIQIgJJBEADQCADIAZqLQAAIghBCWsiBUEXS0EBIAV0QZOAgARxRXINAiAHIANBAWoiAzYCFCACIANHDQALIAIhAwtBASEFIARBKGogBiACIANBAWoiASACIAEgAkkbECBBnKnBAC0AABogBCgCLCEDIAQoAighAUEUEAwiAkUNAiACIAE2AgwgAkEDNgIAIAAgAjYCBCACIAM2AhAMAQsgCEH9AEYEQEEAIQUgAEEAOgABDAELAkACQAJAIAEtAARFBEAgA0EBaiEDIAhBLEYEQCAHIAM2AhQgAiADSwRAA0AgAyAGai0AACIBQQlrIgVBGUsNBkEBIAV0QZOAgARxRQRAIAVBGUcNByAAQQE6AAFBACEFDAgLIAcgA0EBaiIDNgIUIAIgA0cNAAsgAiEDC0EBIQUgBEEQaiAGIAIgA0EBaiIBIAIgASACSRsQIEGcqcEALQAAGiAEKAIUIQMgBCgCECEBQRQQDCICRQ0GIAIgATYCDCACQQU2AgAgACACNgIEIAIgAzYCEAwFCyAEQSBqIAYgAiADIAIgAiADSxsQIEGcqcEALQAAGiAEKAIkIQMgBCgCICEBQRQQDCICRQ0FIAIgATYCDCACQQg2AgAMAQtBACEFIAFBADoABCAIQSJGDQEgBCAGIAIgA0EBaiIBIAIgASACSRsQIEGcqcEALQAAGiAEKAIEIQMgBCgCACEBQRQQDCICRQ0EIAIgATYCDCACQRE2AgALIAAgAjYCBCACIAM2AhBBASEFDAILIABBAToAAQwBC0EBIQUgAUH9AEcEQCAEQQhqIAYgAiADQQFqIgEgAiABIAJJGxAgQZypwQAtAAAaIAQoAgwhAyAEKAIIIQFBFBAMIgJFDQIgAiABNgIMIAJBETYCACAAIAI2AgQgAiADNgIQDAELIARBGGogBiACIANBAWoiASACIAEgAkkbECBBnKnBAC0AABogBCgCHCEDIAQoAhghAUEUEAwiAkUNASACIAE2AgwgAkEVNgIAIAAgAjYCBCACIAM2AhALIAAgBToAACAEQTBqJAAPCwALpAYCB38CfCMAQSBrIgYkAEEBIQkgASABKAIUIgdBAWoiBTYCFAJAIAUgASgCECIITw0AAkACQCABKAIMIAVqLQAAQStrDgMBAgACC0EAIQkLIAEgB0ECaiIFNgIUCwJAIAACfwJAAkACQAJ/AkACQCAFIAhJBEAgASAFQQFqIgc2AhQgASgCDCIKIAVqLQAAQTBrQf8BcSIFQQpPDQECQCAHIAhPDQADQCAHIApqLQAAQTBrQf8BcSILQQpPDQEgASAHQQFqIgc2AhQgBUHMmbPmAEcgC0EHS3IgBUHLmbPmAEpxDQYgBUEKbCALaiEFIAcgCEcNAAsgCCEHCyAJDQIgBCAFayIBQR91QYCAgIB4cyABIAEgBEggBUEASnMbDAMLIAZBGGogASgCDCAIIAUQIEGcqcEALQAAGiAGKAIcIQIgBigCGCEEQRQQDCIBRQ0EIAEgBDYCDCABQQU2AgAgACABNgIEIABBATYCACABIAI2AhAMBwsgBkEQaiAKIAggBxAgQZypwQAtAAAaIAYoAhQhAiAGKAIQIQRBFBAMIgFFDQMgASAENgIMIAFBDTYCACAAIAE2AgQgAEEBNgIAIAEgAjYCEAwGCyAEIAVqIgFBH3VBgICAgHhzIAEgBUEASCABIARIcxsLIQUgA7ohDAJAAkACQCAFIAVBH3UiAXMgAWsiAUG1Ak8EQANAIAxEAAAAAAAAAABhDQcgBUEATg0CIAxEoMjrhfPM4X+jIQwgBUG0AmoiBSAFQR91IgFzIAFrIgFBtQJPDQALCyABQQN0QZCNwQBqKwMAIQ0gBUEATg0BIAwgDaMhDAwFCyAGQQhqIAogCCAHECBBnKnBAC0AABogBigCDCECIAYoAgghBAwBCyAMIA2iIgyZRAAAAAAAAPB/Yg0DIAYgCiAIIAcQIEGcqcEALQAAGiAGKAIEIQIgBigCACEEC0EUEAwiAUUNASABIAQ2AgwgAUEONgIAIAAgATYCBCABIAI2AhBBAQwDCyAAIAEgAiADUCAJEDsMAwsACyAAIAwgDJogAhs5AwhBAAs2AgALIAZBIGokAAupBgEEfyAAIAFqIQICQAJAIAAoAgQiA0EBcQ0AIANBAnFFDQEgACgCACIDIAFqIQEgACADayIAQdSowQAoAgBGBEAgAigCBEEDcUEDRw0BQcyowQAgATYCACACIAIoAgRBfnE2AgQgACABQQFyNgIEIAIgATYCAAwCCyAAIAMQMQsCQAJAAkAgAigCBCIDQQJxRQRAIAJB2KjBACgCAEYNAiACQdSowQAoAgBGDQMgAiADQXhxIgMQMSAAIAEgA2oiAUEBcjYCBCAAIAFqIAE2AgAgAEHUqMEAKAIARw0BQcyowQAgATYCAA8LIAIgA0F+cTYCBCAAIAFBAXI2AgQgACABaiABNgIACyABQYACTwRAQR8hAiAAQgA3AhAgAUH///8HTQRAIAFBBiABQQh2ZyIDa3ZBAXEgA0EBdGtBPmohAgsgACACNgIcIAJBAnRBrKXBAGohBEEBIAJ0IgNByKjBACgCAHFFBEAgBCAANgIAIAAgBDYCGCAAIAA2AgwgACAANgIIQciowQBByKjBACgCACADcjYCAA8LAkACQCABIAQoAgAiAygCBEF4cUYEQCADIQIMAQsgAUEZIAJBAXZrQQAgAkEfRxt0IQUDQCADIAVBHXZBBHFqQRBqIgQoAgAiAkUNAiAFQQF0IQUgAiEDIAIoAgRBeHEgAUcNAAsLIAIoAggiASAANgIMIAIgADYCCCAAQQA2AhggACACNgIMIAAgATYCCA8LIAQgADYCACAAIAM2AhggACAANgIMIAAgADYCCA8LIAFB+AFxQbymwQBqIQMCf0HEqMEAKAIAIgJBASABQQN2dCIBcUUEQEHEqMEAIAEgAnI2AgAgAwwBCyADKAIICyEBIAMgADYCCCABIAA2AgwgACADNgIMIAAgATYCCA8LQdiowQAgADYCAEHQqMEAQdCowQAoAgAgAWoiATYCACAAIAFBAXI2AgQgAEHUqMEAKAIARw0BQcyowQBBADYCAEHUqMEAQQA2AgAPC0HUqMEAIAA2AgBBzKjBAEHMqMEAKAIAIAFqIgE2AgAgACABQQFyNgIEIAAgAWogATYCAAsLjAUBCH8CQCACQRBJBEAgACEDDAELAkAgAEEAIABrQQNxIgZqIgUgAE0NACAAIQMgASEEIAYEQCAGIQcDQCADIAQtAAA6AAAgBEEBaiEEIANBAWohAyAHQQFrIgcNAAsLIAZBAWtBB0kNAANAIAMgBC0AADoAACADQQFqIARBAWotAAA6AAAgA0ECaiAEQQJqLQAAOgAAIANBA2ogBEEDai0AADoAACADQQRqIARBBGotAAA6AAAgA0EFaiAEQQVqLQAAOgAAIANBBmogBEEGai0AADoAACADQQdqIARBB2otAAA6AAAgBEEIaiEEIANBCGoiAyAFRw0ACwsgBSACIAZrIgdBfHEiCGohAwJAIAEgBmoiBEEDcUUEQCADIAVNDQEgBCEBA0AgBSABKAIANgIAIAFBBGohASAFQQRqIgUgA0kNAAsMAQsgAyAFTQ0AIARBA3QiAkEYcSEGIARBfHEiCUEEaiEBQQAgAmtBGHEhCiAJKAIAIQIDQCAFIAIgBnYgASgCACICIAp0cjYCACABQQRqIQEgBUEEaiIFIANJDQALCyAHQQNxIQIgBCAIaiEBCwJAIAMgAiADaiIGTw0AIAJBB3EiBARAA0AgAyABLQAAOgAAIAFBAWohASADQQFqIQMgBEEBayIEDQALCyACQQFrQQdJDQADQCADIAEtAAA6AAAgA0EBaiABQQFqLQAAOgAAIANBAmogAUECai0AADoAACADQQNqIAFBA2otAAA6AAAgA0EEaiABQQRqLQAAOgAAIANBBWogAUEFai0AADoAACADQQZqIAFBBmotAAA6AAAgA0EHaiABQQdqLQAAOgAAIAFBCGohASADQQhqIgMgBkcNAAsLIAAL6QQBB38CfyABRQRAIAAoAhQhBkEtIQkgBUEBagwBC0ErQYCAxAAgACgCFCIGQQFxIgEbIQkgASAFagshBwJAIAZBBHFFBEBBACECDAELIANFDQAgA0EDcSIKRQ0AIAIhAQNAIAggASwAAEG/f0pqIQggAUEBaiEBIApBAWsiCg0ACyAHIAhqIQcLIAAoAgBFBEAgACgCHCIBIAAoAiAiACAJIAIgAxBYBEBBAQ8LIAEgBCAFIAAoAgwRAQAPCwJAAkACQCAHIAAoAgQiCE8EQCAAKAIcIgEgACgCICIAIAkgAiADEFhFDQFBAQ8LIAZBCHFFDQEgACgCECELIABBMDYCECAALQAYIQxBASEBIABBAToAGCAAKAIcIgYgACgCICIKIAkgAiADEFgNAiAIIAdrQQFqIQECQANAIAFBAWsiAUUNASAGQTAgCigCEBEAAEUNAAtBAQ8LIAYgBCAFIAooAgwRAQAEQEEBDwsgACAMOgAYIAAgCzYCEEEADwsgASAEIAUgACgCDBEBACEBDAELIAggB2shBgJAAkACQEEBIAAtABgiASABQQNGGyIBQQFrDgIAAQILIAYhAUEAIQYMAQsgBkEBdiEBIAZBAWpBAXYhBgsgAUEBaiEBIAAoAhAhCCAAKAIgIQcgACgCHCEAAkADQCABQQFrIgFFDQEgACAIIAcoAhARAABFDQALQQEPC0EBIQEgACAHIAkgAiADEFgNACAAIAQgBSAHKAIMEQEADQBBACEBA0AgASAGRgRAQQAPCyABQQFqIQEgACAIIAcoAhARAABFDQALIAFBAWsgBkkPCyABC4oFAQd/IwBBIGsiBCQAIAEoAgAiBygCDCEGAkACQAJAIAcoAhQiAiAHKAIQIgNJBEADQCACIAZqLQAAIghBCWsiBUEXS0EBIAV0QZOAgARxRXINAiAHIAJBAWoiAjYCFCACIANHDQALIAMhAgtBASEFIARBGGogBiADIAJBAWoiASADIAEgA0kbECBBnKnBAC0AABogBCgCHCEDIAQoAhghAUEUEAwiAkUNAiACIAE2AgwgAkECNgIAIAAgAjYCBCACIAM2AhAMAQsgCEHdAEYEQEEAIQUgAEEAOgABDAELAkAgAS0ABEUEQCACQQFqIQIgCEEsRgRAIAcgAjYCFCACIANJBEADQCACIAZqLQAAIgVBCWsiAUEXS0EBIAF0QZOAgARxRXINBCAHIAJBAWoiAjYCFCACIANHDQALIAMhAgtBASEFIAQgBiADIAJBAWoiASADIAEgA0kbECBBnKnBAC0AABogBCgCBCEDIAQoAgAhAUEUEAwiAkUNBCACIAE2AgwgAkEFNgIAIAAgAjYCBCACIAM2AhAMAwsgBEEQaiAGIAMgAiADIAIgA0kbECBBnKnBAC0AABogBCgCFCEDIAQoAhAhAUEUEAwiAkUNAyACIAE2AgwgAkEHNgIAIAAgAjYCBCACIAM2AhBBASEFDAILIABBAToAAUEAIQUgAUEAOgAEDAELIAVB3QBHBEAgAEEBOgABQQAhBQwBC0EBIQUgBEEIaiAGIAMgAkEBaiIBIAMgASADSRsQIEGcqcEALQAAGiAEKAIMIQMgBCgCCCEBQRQQDCICRQ0BIAIgATYCDCACQRU2AgAgACACNgIEIAIgAzYCEAsgACAFOgAAIARBIGokAA8LAAvqBAEKfyMAQTBrIgMkACADIAE2AiwgAyAANgIoIANBAzoAJCADQiA3AhwgA0EANgIUIANBADYCDAJ/AkACQAJAIAIoAhAiCkUEQCACKAIMIgBFDQEgAigCCCIBIABBA3RqIQQgAEEBa0H/////AXFBAWohByACKAIAIQADQCAAQQRqKAIAIgUEQCADKAIoIAAoAgAgBSADKAIsKAIMEQEADQQLIAEoAgAgA0EMaiABQQRqKAIAEQAADQMgAEEIaiEAIAFBCGoiASAERw0ACwwBCyACKAIUIgBFDQAgAEEFdCELIABBAWtB////P3FBAWohByACKAIIIQUgAigCACEAA0AgAEEEaigCACIBBEAgAygCKCAAKAIAIAEgAygCLCgCDBEBAA0DCyADIAggCmoiAUEQaigCADYCHCADIAFBHGotAAA6ACQgAyABQRhqKAIANgIgIAFBDGooAgAhBEEAIQlBACEGAkACQAJAIAFBCGooAgBBAWsOAgACAQsgBEEDdCAFaiIMKAIADQEgDCgCBCEEC0EBIQYLIAMgBDYCECADIAY2AgwgAUEEaigCACEEAkACQAJAIAEoAgBBAWsOAgACAQsgBEEDdCAFaiIGKAIADQEgBigCBCEEC0EBIQkLIAMgBDYCGCADIAk2AhQgBSABQRRqKAIAQQN0aiIBKAIAIANBDGogAUEEaigCABEAAA0CIABBCGohACALIAhBIGoiCEcNAAsLIAcgAigCBE8NASADKAIoIAIoAgAgB0EDdGoiACgCACAAKAIEIAMoAiwoAgwRAQBFDQELQQEMAQtBAAsgA0EwaiQAC6EEAQR/IwBBgAFrIgQkAAJAAkACQCABKAIUIgJBEHFFBEAgAkEgcQ0BIAAoAgAgARAuRQ0CQQEhAgwDCyAAKAIAIQJBgQEhAwNAIAMgBGpBAmsgAkEPcSIFQTByIAVB1wBqIAVBCkkbOgAAIANBAWshAyACQRBJIAJBBHYhAkUNAAtBASECIAFBAUGojMAAQQIgAyAEakEBa0GBASADaxAbRQ0BDAILIAAoAgAhAkGBASEDA0AgAyAEakECayACQQ9xIgVBMHIgBUE3aiAFQQpJGzoAACADQQFrIQMgAkEPSyACQQR2IQINAAtBASECIAFBAUGojMAAQQIgAyAEakEBa0GBASADaxAbDQELIAEoAhxB6IrAAEECIAEoAiAoAgwRAQAEQEEBIQIMAQsCQCABKAIUIgJBEHFFBEAgAkEgcQ0BIAAoAgQgARAuIQIMAgsgACgCBCECQYEBIQMDQCADIARqQQJrIAJBD3EiAEEwciAAQdcAaiAAQQpJGzoAACADQQFrIQMgAkEPSyACQQR2IQINAAsgAUEBQaiMwABBAiADIARqQQFrQYEBIANrEBshAgwBCyAAKAIEIQJBgQEhAwNAIAMgBGpBAmsgAkEPcSIAQTByIABBN2ogAEEKSRs6AAAgA0EBayEDIAJBD0sgAkEEdiECDQALIAFBAUGojMAAQQIgAyAEakEBa0GBASADaxAbIQILIARBgAFqJAAgAgufCQIPfwF+IwBBMGsiByQAAkACQAJAAkACQCABKAIUIgUgASgCECIISQRAIAEgBUEBaiIENgIUIAEoAgwiBiAFai0AACIDQTBHDQIgBCAISQRAIAQgBmotAABBMGtB/wFxQQpJDQILIAAgASACQgAQFAwFCyAHQRhqIAEoAgwgCCAFECBBnKnBAC0AABogBygCHCECIAcoAhghAUEUEAwiA0UNAiADIAE2AgwgA0EFNgIAIAAgAzYCCCAAQgM3AwAgAyACNgIQDAQLIAdBCGogBiAIIAVBAmoiASAIIAEgCEkbECBBnKnBAC0AABogBygCDCECIAcoAgghAUEUEAwiA0UNASADIAE2AgwgA0ENNgIAIAAgAzYCCCAAQgM3AwAgAyACNgIQDAMLIANBMWtB/wFxQQlPBEAgB0EQaiAGIAggBBAgQZypwQAtAAAaIAcoAhQhAiAHKAIQIQFBFBAMIgNFDQEgAyABNgIMIANBDTYCACAAIAM2AgggAEIDNwMAIAMgAjYCEAwDCyADQTBrrUL/AYMhEiAEIAhPDQEDQCAEIAZqLQAAQTBrIgVB/wFxIgNBCk8NAiADQQVLIBJCmbPmzJmz5swZUnIgEkKZs+bMmbPmzBlacUUEQCABIARBAWoiBDYCFCASQgp+IAWtQv8Bg3whEiAEIAhHDQEMAwsLIAdBIGohCUEAIQYjAEEQayILJAACQAJAAkACQAJAIAEiBSgCECIKIAEoAhQiA00NACAKIANrIQEgBSgCDCEMIAMhBANAIAQgDGotAAAiCEEwa0H/AXFBCk8EQCAIQS5GDQMgCEHFAEcgCEHlAEdxDQIgCSAFIAIgEiAGECMMBAsgBSAEQQFqIgQ2AhQgBkEBaiIGIAFHDQALIAEhBgsgCSAFIAIgEiAGEDMMAQsgBSAEQQFqIgQ2AhQCQCAEIApPDQAgBiAMaiEOIAQgCmshDyADIAprIAZqQQFqIRBBACEEAkADQCADIAZqIQ0gAyAOakEBai0AACIRQTBrIghB/wFxIgFBCk8EQCAERQRAIA1BAWohBAwECyAEIAZqIQEgEUEgckHlAEcEQCAJIAUgAiASIAEQMwwFCyAJIAUgAiASIAEQIwwECyABQQVLIBJCmbPmzJmz5swZUnIgEkKYs+bMmbPmzBlWcQ0BIAUgDUECajYCFCADQQFqIQMgEkIKfiAIrUL/AYN8IRIgECAEQQFrIgRHDQALIAkgBSACIBIgBiAPahAzDAILIAkgBSACIBIgBCAGahBKDAELIAtBCGogDCAKIARBAWoiASAKIAEgCkkbECBBnKnBAC0AABogCygCDCECIAsoAgghAUEUEAwhAyAEIApPBEAgA0UNAiADIAE2AgwgA0EFNgIAIAkgAzYCBCAJQQE2AgAgAyACNgIQDAELIANFDQEgAyABNgIMIANBDTYCACAJIAM2AgQgCUEBNgIAIAMgAjYCEAsgC0EQaiQADAELAAsgBygCIEUEQCAAIAcrAyg5AwggAEIANwMADAMLIAAgBygCJDYCCCAAQgM3AwAMAgsACyAAIAEgAiASEBQLIAdBMGokAAuxBAEFfwJAAkACQAJAAkACQAJAIAIgA08EQEEBIQcgA0EATA0EIAEgA2ohBCADQQNNBEADQCABIARPDQYgBEEBayIELQAAQQpHDQAMBQsAC0GAgoQIIARBBGsoAAAiBUGKlKjQAHNrIAVyQYCBgoR4cUGAgYKEeEcEQANAIAEgBE8NBiAEQQFrIgQtAABBCkcNAAwFCwALIAMgBEEDcWshBSADQQlPBEADQCAFQQhIDQNBgIKECCABIAVqIgRBCGsoAgAiCEGKlKjQAHNrIAhyQYCBgoR4cUGAgYKEeEcNAyAFQQhrIQVBgIKECCAEQQRrKAIAIghBipSo0ABzayAIckGAgYKEeHFBgIGChHhGDQAMBAsACyABIAVqIQQDQCABIARPDQUgBEEBayIELQAAQQpHDQALDAMLIAMgAkHwgsEAEHwACyABIAVqIQQLA0AgASAETw0CIARBAWsiBC0AAEEKRw0ACwsgBCABayIEQQFqIQYgAiAETQ0BCyABIAZqIAFNDQIgBkEDcSEFIAZBAWtBA0kEQEEAIQQMAgsgBkF8cSEHQQAhBANAIAQgAS0AAEEKRmogAS0AAUEKRmogAS0AAkEKRmogAS0AA0EKRmohBCABQQRqIQEgB0EEayIHDQALDAELIAYgAkGAg8EAEHwACyAFBEADQCAEIAEtAABBCkZqIQQgAUEBaiEBIAVBAWsiBQ0ACwsgBEEBaiEHCyAAIAc2AgAgACADIAZrNgIEC8kEAQZ/IwBBIGsiAyQAIAAoAgwhBAJAAkACQAJAAkACQCAAKAIUIgEgACgCECICSQRAA0ACQCABIARqLQAAIgVBCWsOJAAABAQABAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBgMLIAAgAUEBaiIBNgIUIAEgAkcNAAsgAiEBCyADQQhqIAQgAiABQQFqIgAgAiAAIAJJGxAgQZypwQAtAAAaIAMoAgwhAiADKAIIIQBBFBAMIgFFDQUgASAANgIMIAFBAjYCACABIAI2AhAMBAsgBUHdAEYNAQsgAyAEIAIgAUEBaiIAIAIgACACSRsQIEGcqcEALQAAGiADKAIEIQIgAygCACEAQRQQDCIBRQ0DIAEgADYCDCABQRY2AgAgASACNgIQDAILIAAgAUEBajYCFEEAIQEMAQsgACABQQFqIgE2AhQCQCABIAJPDQACQANAIAEgBGotAAAiBkEJayIFQRdLQQEgBXRBk4CABHFFcg0BIAAgAUEBaiIBNgIUIAEgAkcNAAsgAiEBDAELIAZB3QBHDQAgA0EYaiAEIAIgAUEBaiIAIAIgACACSRsQIEGcqcEALQAAGiADKAIcIQIgAygCGCEAQRQQDCIBRQ0CIAEgADYCDCABQRU2AgAgASACNgIQDAELIANBEGogBCACIAFBAWoiACACIAAgAkkbECBBnKnBAC0AABogAygCFCECIAMoAhAhAEEUEAwiAUUNASABIAA2AgwgAUEWNgIAIAEgAjYCEAsgA0EgaiQAIAEPCwALpBYCEn8DfkGMpcEAKAIARQRAAkBBjKXBACgCAEGMpcEAQgE3AgBBmKXBACgCACEEQZSlwQAoAgAhA0GUpcEAQcChwQApAgA3AgBBoKXBACgCACEHQZylwQBByKHBACkCADcCAEUgBEVyDQAgBwRAIANBCGohBiADKQMAQn+FQoCBgoSIkKDAgH+DIRQgAyECA0AgFFAEQANAIAJB4ABrIQIgBikDACAGQQhqIQZCgIGChIiQoMCAf4MiFEKAgYKEiJCgwIB/UQ0ACyAUQoCBgoSIkKDAgH+FIRQLIAIgFHqnQQN2QXRsakEEaygCACIJQYQBTwRAIAkQSQsgFEIBfSAUgyEUIAdBAWsiBw0ACwsgBCAEQQxsQRNqQXhxIgdqQQlqIgJFDQACQCADIAdrIgNBBGsoAgAiBEF4cSIHQQRBCCAEQQNxIgQbIAJqTwRAIARBACAHIAJBJ2pLGw0BIAMQEwwCC0Gho8EAQS5B0KPBABBXAAtB4KPBAEEuQZCkwQAQVwALCwJAAkBBkKXBACgCAEUEQEGQpcEAQX82AgBBmKXBACgCACIEIABxIQMgAEEZdiIPrUKBgoSIkKDAgAF+IRZBlKXBACgCACEHA0AgAyAHaikAACIVIBaFIhRCf4UgFEKBgoSIkKDAgAF9g0KAgYKEiJCgwIB/gyIUUEUEQANAIAAgByAUeqdBA3YgA2ogBHFBdGxqIgJBDGsoAgBGBEAgAkEIaygCACABRg0GCyAUQgF9IBSDIhRQRQ0ACwsgFSAVQgGGg0KAgYKEiJCgwIB/g1BFDQIgAyAIQQhqIghqIARxIQMMAAsACyMAQTBrIgAkACAAQQE2AgwgAEGci8AANgIIIABCATcCFCAAIABBL2qtQoCAgIDwAIQ3AyAgACAAQSBqNgIQIABBCGpBqKHBABBcAAtBnKXBACgCAEUEQAJAQQAhBAJAAkBBoKXBACgCACIHQX9GDQACQAJAQZilwQAoAgAiCSAJQQFqIgpBA3YiAkEHbCAJQQhJGyIMQQF2IAdNBEACfyAMQQFqIgIgB0EBaiIDIAIgA0sbIgJBCE8EQCACQf////8BSw0FQX8gAkEDdEEHbkEBa2d2QQFqDAELQQRBCCACQQRJGwsiAq1CDH4iFEIgiKcNAyAUpyIDQXhLDQMgA0EHakF4cSIDIAJBCGoiBmoiBCADSSAEQfn///8HT3INA0GcqcEALQAAGiAEEAwiBEUNBCADIARqQf8BIAYQKCEIIAJBAWsiDCACQQN2QQdsIAJBCUkbIQ5BlKXBACgCACEGIAcEQCAIQQxrIRAgCEEIaiERIAZBDGshDSAGKQMAQn+FQoCBgoSIkKDAgH+DIRQgBiEEIAchAwNAIBRQBEADQCAFQQhqIQUgBCkDCCAEQQhqIQRCgIGChIiQoMCAf4MiFEKAgYKEiJCgwIB/UQ0ACyAUQoCBgoSIkKDAgH+FIRQLIAggDCANIBR6p0EDdiAFaiISQXRsaiICKAIAIgsgAigCBCALGyITcSICaikAAEKAgYKEiJCgwIB/gyIVUARAQQghCwNAIAIgC2ohAiALQQhqIQsgCCACIAxxIgJqKQAAQoCBgoSIkKDAgH+DIhVQDQALCyAUQgF9IBSDIRQgCCAVeqdBA3YgAmogDHEiAmosAABBAE4EQCAIKQMAQoCBgoSIkKDAgH+DeqdBA3YhAgsgAiAIaiATQRl2Igs6AAAgESACQQhrIAxxaiALOgAAIBAgAkF0bGoiAkEIaiANIBJBdGxqIgtBCGooAAA2AAAgAiALKQAANwAAIANBAWsiAw0ACwtBmKXBACAMNgIAQZSlwQAgCDYCAEGcpcEAIA4gB2s2AgAgCUUNBSAJIApBDGxBB2pBeHEiA2pBCWoiAkUNBSAGIANrIgNBBGsoAgAiBEF4cSIHQQRBCCAEQQNxIgQbIAJqSQ0CIARBACAHIAJBJ2pLGw0BIAMQEwwFC0GUpcEAKAIAIQYCQCACIApBB3FBAEdqIgNFDQAgA0EBRwRAIANB/v///wNxIQIDQCAEIAZqIgggCCkDACIUQn+FQgeIQoGChIiQoMCAAYMgFEL//v379+/fv/8AhHw3AwAgCEEIaiIIIAgpAwAiFEJ/hUIHiEKBgoSIkKDAgAGDIBRC//79+/fv37//AIR8NwMAIARBEGohBCACQQJrIgINAAsLIANBAXFFDQAgBCAGaiICIAIpAwAiFEJ/hUIHiEKBgoSIkKDAgAGDIBRC//79+/fv37//AIR8NwMACwJAAkAgCkEITwRAIAYgCmogBikAADcAAAwBCyAGQQhqIAYgChCGARogCkUNAQsgBkEIaiEIIAZBDGshC0EAIQIDQAJAIAYgAiIEaiINLQAAQYABRw0AIAsgAkF0bGohAgJAA0AgCSACKAIAIgMgAigCBCADGyIOcSIKIQMgBiAKaikAAEKAgYKEiJCgwIB/gyIUUARAQQghBQNAIAMgBWohAyAFQQhqIQUgBiADIAlxIgNqKQAAQoCBgoSIkKDAgH+DIhRQDQALCyAOrSEVIAYgFHqnQQN2IANqIAlxIgNqLAAAQQBOBEAgBikDAEKAgYKEiJCgwIB/g3qnQQN2IQMLIAMgCmsgBCAKa3MgCXFBCEkNASADIAZqIgUtAAAgBSAVQhmIpyIFOgAAIAggA0EIayAJcWogBToAACALIANBdGxqIQNB/wFHBEAgAi0AACEFIAIgAy0AADoAACADIAU6AAAgAi0AASEFIAIgAy0AAToAASADIAU6AAEgAi0AAiEFIAIgAy0AAjoAAiADIAU6AAIgAi0AAyEFIAIgAy0AAzoAAyADIAU6AAMgAi0ABCEFIAIgAy0ABDoABCADIAU6AAQgAi0ABSEFIAIgAy0ABToABSADIAU6AAUgAi0ABiEFIAIgAy0ABjoABiADIAU6AAYgAi0AByEFIAIgAy0ABzoAByADIAU6AAcgAi0ACCEFIAIgAy0ACDoACCADIAU6AAggAi0ACSEFIAIgAy0ACToACSADIAU6AAkgAi0ACiEFIAIgAy0ACjoACiADIAU6AAogAi0ACyEFIAIgAy0ACzoACyADIAU6AAsMAQsLIA1B/wE6AAAgCCAEQQhrIAlxakH/AToAACADQQhqIAJBCGooAAA2AAAgAyACKQAANwAADAELIA0gFUIZiKciAjoAACAIIARBCGsgCXFqIAI6AAALIARBAWohAiAEIAlHDQALC0GcpcEAIAwgB2s2AgAMBAtB4KPBAEEuQZCkwQAQVwALQaGjwQBBLkHQo8EAEFcACyMAQSBrIgAkACAAQQA2AhggAEEBNgIMIABB1KTAADYCCCAAQgQ3AhAgAEEIakGIpcAAEFwACwALCyAAIAEQayEGQZSlwQAoAgAiAkGYpcEAKAIAIgcgAHEiA2opAABCgIGChIiQoMCAf4MiFFAEQEEIIQQDQCADIARqIQMgBEEIaiEEIAIgAyAHcSIDaikAAEKAgYKEiJCgwIB/gyIUUA0ACwsgAiAUeqdBA3YgA2ogB3EiA2osAAAiBEEATgRAIAIgAikDAEKAgYKEiJCgwIB/g3qnQQN2IgNqLQAAIQQLIAIgA2ogDzoAACACIANBCGsgB3FqQQhqIA86AABBnKXBAEGcpcEAKAIAIARBAXFrNgIAIAIgA0F0bGoiAkEEayAGNgIAIAJBCGsgATYCACACQQxrIAA2AgBBoKXBAEGgpcEAKAIAQQFqNgIACyACQQRrKAIAIQAQJSIBIAAlASYBQZClwQBBkKXBACgCAEEBajYCACABC4YEAQd/IwBBEGsiByQAQQEhCSABIAEoAhQiBUEBaiIGNgIUAkAgBiABKAIQIghPDQACQAJAIAEoAgwgBmotAABBK2sOAwECAAILQQAhCQsgASAFQQJqIgY2AhQLAkACQAJAAn8CQAJAIAYgCEkEQCABIAZBAWoiBTYCFCABKAIMIgogBmotAABBMGtB/wFxIgZBCk8NAQJAIAUgCE8NAANAIAUgCmotAABBMGtB/wFxIgtBCk8NASABIAVBAWoiBTYCFCAGQcyZs+YARyALQQdLciAGQcuZs+YASnENBiAGQQpsIAtqIQYgBSAIRw0ACwsgCQ0CIAQgBmsiBUEfdUGAgICAeHMgBSAGQQBKIAQgBUpzGwwDCyAHQQhqIAEoAgwgCCAGECBBnKnBAC0AABogBygCDCECIAcoAgghBEEUEAwiAUUNBCABIAQ2AgwgAUEFNgIAIAAgATYCBCAAQQE2AgAgASACNgIQDAULIAcgCiAIIAUQIEGcqcEALQAAGiAHKAIEIQIgBygCACEEQRQQDCIBRQ0DIAEgBDYCDCABQQ02AgAgACABNgIEIABBATYCACABIAI2AhAMBAsgBCAGaiIFQR91QYCAgIB4cyAFIAZBAEggBCAFSnMbCyEFIAAgASACIAMgBRAzDAILIAAgASACIANQIAkQOwwBCwALIAdBEGokAAufBAMFfwJ+AX0jAEEgayICJAAgASgCDCEFAkACQAJAAkAgASgCFCIDIAEoAhAiBEkEQANAAkAgAyAFai0AACIGQQlrDiUAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQDBAsgASADQQFqIgM2AhQgAyAERw0ACyAEIQMLIAJBCGogBSAEIANBAWoiASAEIAEgBEkbECBBnKnBAC0AABogAigCDCEDIAIoAgghBEEUEAwiAUUNAyABIAQ2AgwgAUEFNgIAIAAgATYCBCAAQQE2AgAgASADNgIQDAILIAEgA0EBajYCFCACQRBqIAFBABAfAn0CQCACKQMQIghCA1IEQCACKQMYIQcCQAJAIAinQQFrDgIAAQMLIAe1DAMLIAe0DAILIAAgAigCGDYCBCAAQQE2AgAMAwsgB7+2QwAAgD9DAACAvyAHQgBZG5gLIQkgAEEANgIAIAAgCTgCBAwBCyAGQTBrQf8BcUEKTwRAIAEgAkEQakHEhMAAEBAgARBCIQEgAEEBNgIAIAAgATYCBAwBCyACQRBqIAFBARAfAn0CQCACKQMQIghCA1IEQCACKQMYIQcCQAJAIAinQQFrDgIAAQMLIAe1DAMLIAe0DAILIAAgAigCGDYCBCAAQQE2AgAMAgsgB7+2QwAAgD9DAACAvyAHQgBZG5gLIQkgAEEANgIAIAAgCTgCBAsgAkEgaiQADwsAC80EAQp/IwBBIGsiAyQAQfiowQAoAgBFBEAQQwtBiKnBACgCACEIQYSpwQAoAgAhAkGEqcEAQgA3AgBBgKnBACgCACEEQfyowQAoAgAhAUH8qMEAQoCAgIDAADcCAEGMqcEAKAIAIQZBjKnBAEEANgIAAkACQAJAIAIgCEYEQAJAIAEgAkYEQNBvQYABIAEgAUGAAU0bIgf8DwEiAEF/Rg0DAkAgBkUEQCAAIQYMAQsgASAGaiAARw0ECyABIAdqIgdBAnQiAEH8////B0sNAyADIAEEfyADIAQ2AhQgAyABQQJ0NgIcQQQFQQALNgIYIANBCGohCQJ/IANBFGoiBCgCBARAIAQoAggiBQRAIAQoAgAgBUEEIAAQFgwCCwtBnKnBAC0AABogABAMCyEFIAkgADYCCCAJIAVBBCAFGzYCBCAJIAVFNgIAIAMoAghBAUYNAyADKAIMIQQgASEAIAchAQwBCyACIgAgAU8NAgsgBCAAQQJ0aiACQQFqNgIAIABBAWohAgsgAiAITQ0AIAQgCEECdGooAgAhAEGMqcEAIAY2AgBBiKnBACAANgIAQYSpwQAgAjYCAEGAqcEAKAIAIQVBgKnBACAENgIAQfyowQAoAgAhAkH8qMEAIAE2AgAgAgRAIAVBBGsoAgAiAEF4cSIHIAJBAnQiAUEEQQggAEEDcSIAG2pJDQIgAEEAIAcgAUEnaksbDQMgBRATCyADQSBqJAAgBiAIag8LAAtBoaPBAEEuQdCjwQAQVwALQeCjwQBBLkGQpMEAEFcAC48DAQZ/AkACQAJAAkACQCABRQRAIABFDQEgAEEIayICKAIAQQFHDQIgACgCDCEBIAAoAgghBCAAKAIEIQYgAkEANgIAAkAgAkF/Rg0AIABBBGsiAyADKAIAQQFrIgM2AgAgAw0AIABBDGsoAgAiAEF4cUEcQSAgAEEDcSIDG0kNBSADQQAgAEHAAE8bDQYgAhATCyABBEAgBCEAA0AgACgCACICBEAgAEEEaigCACIDQQRrKAIAIgVBeHEiByACQQR0IgJBBEEIIAVBA3EiBRtySQ0HIAVBACAHIAJBJ2pLGw0IIAMQEwsgAEEQaiEAIAFBAWsiAQ0ACwsgBkUNAyAEQQRrKAIAIgBBeHEiASAGQQR0IgJBBEEIIABBA3EiABtySQ0EIABBACABIAJBJ2pLGw0FIAQQEwwDCyAARQ0AIABBCGsiACAAKAIAQQFrIgE2AgAgAQ0CIAAQLw8LEIABAAtBlYHAAEE/EIEBAAsPC0Gho8EAQS5B0KPBABBXAAtB4KPBAEEuQZCkwQAQVwALrgQBBX8jAEEwayICJAACQAJAA0AgABA6AkAgACgCCCIBIAAoAgQiA0cEQCABIANJDQEgASADQeCDwQAQTgALIAJBCGogACgCACABIAEQIEGcqcEALQAAGiACKAIMIQEgAigCCCEDQRQQDCIARQ0DIAAgAzYCDCAAQQQ2AgAgACABNgIQDAILIAAoAgAiBSABai0AACIEQdwARwRAIARBIkcEQCACQRBqIAUgAyABECBBnKnBAC0AABogAigCFCEBIAIoAhAhA0EUEAwiAEUNBCAAIAM2AgwgAEEQNgIAIAAgATYCEAwDCyAAIAFBAWo2AghBACEADAILIAAgAUEBaiIENgIIAkACQCADIARLBEAgACABQQJqIgE2AgggBCAFai0AAEEiaw5UAwEBAQEBAQEBAQEBAQMBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQMBAQEBAQMBAQEDAQEBAQEBAQMBAQEDAQMCAQsgAkEgaiAFIAMgBBAgQZypwQAtAAAaIAIoAiQhASACKAIgIQNBFBAMIgBFDQQgACADNgIMIABBBDYCACAAIAE2AhAMAwsgAkEYaiAFIAMgARAgQZypwQAtAAAaIAIoAhwhASACKAIYIQNBFBAMIgBFDQMgACADNgIMIABBDDYCACAAIAE2AhAMAgsgAkEoaiAAEDUgAi8BKEUNAAsgAigCLCEACyACQTBqJAAgAA8LAAuUAwEEfwJAIAJBEEkEQCAAIQMMAQsCQCAAQQAgAGtBA3EiBWoiBCAATQ0AIAAhAyAFBEAgBSEGA0AgAyABOgAAIANBAWohAyAGQQFrIgYNAAsLIAVBAWtBB0kNAANAIAMgAToAACADQQdqIAE6AAAgA0EGaiABOgAAIANBBWogAToAACADQQRqIAE6AAAgA0EDaiABOgAAIANBAmogAToAACADQQFqIAE6AAAgA0EIaiIDIARHDQALCyAEIAIgBWsiAkF8cWoiAyAESwRAIAFB/wFxQYGChAhsIQUDQCAEIAU2AgAgBEEEaiIEIANJDQALCyACQQNxIQILAkAgAyACIANqIgVPDQAgAkEHcSIEBEADQCADIAE6AAAgA0EBaiEDIARBAWsiBA0ACwsgAkEBa0EHSQ0AA0AgAyABOgAAIANBB2ogAToAACADQQZqIAE6AAAgA0EFaiABOgAAIANBBGogAToAACADQQNqIAE6AAAgA0ECaiABOgAAIANBAWogAToAACADQQhqIgMgBUcNAAsLIAALuQMBBX8CQCAAQoCAgIAQVARAIAEhAgwBCyABQQhrIgIgACAAQoDC1y+AIgBCgL6o0A9+fKciA0GQzgBuIgRBkM4AcCIFQeQAbiIGQQF0Qbj6wABqLwAAOwAAIAFBBGsgAyAEQZDOAGxrIgNB//8DcUHkAG4iBEEBdEG4+sAAai8AADsAACABQQZrIAUgBkHkAGxrQf//A3FBAXRBuPrAAGovAAA7AAAgAUECayADIARB5ABsa0H//wNxQQF0Qbj6wABqLwAAOwAACwJAIACnIgFBkM4ASQRAIAEhAwwBCyACQQRrIQIDQCACIAFBkM4AbiIDQfCxf2wgAWoiBEHkAG4iBUEBdEG4+sAAai8AADsAACACQQJqIAQgBUHkAGxrQQF0Qbj6wABqLwAAOwAAIAJBBGshAiABQf/B1y9LIAMhAQ0ACyACQQRqIQILAkAgA0HjAE0EQCADIQEMAQsgAkECayICIAMgA0H//wNxQeQAbiIBQeQAbGtB//8DcUEBdEG4+sAAai8AADsAAAsgAUEJTQRAIAJBAWsgAUEwcjoAAA8LIAJBAmsgAUEBdEG4+sAAai8AADsAAAvIAgEFfwJAAkACQAJAAkACQCAAKAIADgIAAQMLIAAoAggiAUUNAiAAKAIEIgNBBGsoAgAiAkF4cSIEQQRBCCACQQNxIgIbIAFqSQ0EIAJFIAQgAUEnak1yDQEMAwsgAC0ABEEDRw0BIAAoAggiAygCACEBIANBBGooAgAiAigCACIEBEAgASAEEQQACyACKAIEIgIEQCABQQRrKAIAIgRBeHEiBUEEQQggBEEDcSIEGyACakkNBCAEQQAgBSACQSdqSxsNAyABEBMLIANBBGsoAgAiAUF4cSICQRBBFCABQQNxIgEbSQ0DIAFFDQAgAkE0Tw0CCyADEBMLIABBBGsoAgAiA0F4cSIBQRhBHCADQQNxIgMbSQ0BIANBACABQTxPGw0AIAAQEw8LQeCjwQBBLkGQpMEAEFcAC0Gho8EAQS5B0KPBABBXAAvnAgEFfwJAQc3/e0EQIAAgAEEQTRsiAGsgAU0NACAAQRAgAUELakF4cSABQQtJGyIEakEMahAMIgJFDQAgAkEIayEBAkAgAEEBayIDIAJxRQRAIAEhAAwBCyACQQRrIgUoAgAiBkF4cSACIANqQQAgAGtxQQhrIgIgAEEAIAIgAWtBEE0baiIAIAFrIgJrIQMgBkEDcQRAIAAgAyAAKAIEQQFxckECcjYCBCAAIANqIgMgAygCBEEBcjYCBCAFIAIgBSgCAEEBcXJBAnI2AgAgASACaiIDIAMoAgRBAXI2AgQgASACEBkMAQsgASgCACEBIAAgAzYCBCAAIAEgAmo2AgALAkAgACgCBCIBQQNxRQ0AIAFBeHEiAiAEQRBqTQ0AIAAgBCABQQFxckECcjYCBCAAIARqIgEgAiAEayIEQQNyNgIEIAAgAmoiAiACKAIEQQFyNgIEIAEgBBAZCyAAQQhqIQMLIAML6gICBn8CfiMAQSBrIgUkAEEUIQMgACIJQugHWgRAIAkhCgNAIAVBDGogA2oiBEEDayAKQpDOAIAiCULwsQN+IAp8pyIGQf//A3FB5ABuIgdBAXQiCEG5+sAAai0AADoAACAEQQRrIAhBuPrAAGotAAA6AAAgBEEBayAHQZx/bCAGakH//wNxQQF0IgZBufrAAGotAAA6AAAgBEECayAGQbj6wABqLQAAOgAAIANBBGshAyAKQv+s4gRWIAkhCg0ACwsgCUIJVgRAIAMgBWpBC2ogCaciBEH//wNxQeQAbiIGQZx/bCAEakH//wNxQQF0IgRBufrAAGotAAA6AAAgA0ECayIDIAVBDGpqIARBuPrAAGotAAA6AAAgBq0hCQsgAFBFIAlQcUUEQCADQQFrIgMgBUEMamogCadBAXRBHnFBufrAAGotAAA6AAALIAIgAUEBQQAgBUEMaiADakEUIANrEBsgBUEgaiQAC9oDAQd/IwBBEGsiBCQAAkACQAJAAkACQAJAIAEoAgQiBUUNACABKAIAIQYgBUEDcSEHAkAgBUEESQRAQQAhBQwBCyAGQRxqIQIgBUF8cSIFIQgDQCACKAIAIAJBCGsoAgAgAkEQaygCACACQRhrKAIAIANqampqIQMgAkEgaiECIAhBBGsiCA0ACwsgBwRAIAVBA3QgBmpBBGohAgNAIAIoAgAgA2ohAyACQQhqIQIgB0EBayIHDQALCyABKAIMBEAgA0EASA0BIAYoAgRFIANBEElxDQEgA0EBdCEDCyADQQBIDQMgAw0BC0EBIQJBACEDDAELQZypwQAtAAAaIAMQDCICRQ0CCyAEQQA2AgggBCACNgIEIAQgAzYCACAEQbyIwAAgARAdRQ0CIwBBQGoiACQAIABB1gA2AgwgAEHYicAANgIIIABByInAADYCFCAAIARBD2o2AhAgAEECNgIcIABBmIzAADYCGCAAQgI3AiQgACAAQRBqrUKAgICA0ACENwM4IAAgAEEIaq1CgICAgOAAhDcDMCAAIABBMGo2AiAgAEEYakHIisAAEFwAC0G4icAAEFkLAAsgACAEKQIANwIAIABBCGogBEEIaigCADYCACAEQRBqJAAL5gIBCH8jAEEQayIFJABBCiECIAAiA0HoB08EQCADIQQDQCAFQQZqIAJqIgZBA2sgBEGQzgBuIgNB8LEDbCAEaiIHQf//A3FB5ABuIghBAXQiCUG5+sAAai0AADoAACAGQQRrIAlBuPrAAGotAAA6AAAgBkEBayAIQZx/bCAHakH//wNxQQF0IgdBufrAAGotAAA6AAAgBkECayAHQbj6wABqLQAAOgAAIAJBBGshAiAEQf+s4gRLIAMhBA0ACwsCQCADQQlNBEAgAyEEDAELIAIgBWpBBWogA0H//wNxQeQAbiIEQZx/bCADakH//wNxQQF0IgNBufrAAGotAAA6AAAgAkECayICIAVBBmpqIANBuPrAAGotAAA6AAALQQAgACAEG0UEQCACQQFrIgIgBUEGamogBEEBdEEecUG5+sAAai0AADoAAAsgAUEBQQFBACAFQQZqIAJqQQogAmsQGyAFQRBqJAALqgIBBn8CQAJAIAAoAhQiAwRAIAAoAhAhAQNAIAEoAgAiAgRAIAFBBGooAgAiBEEEaygCACIFQXhxIgYgAkEEdCICQQRBCCAFQQNxIgUbckkNAyAFQQAgBiACQSdqSxsNBCAEEBMLIAFBEGohASADQQFrIgMNAAsLIAAoAgwiAQRAIAAoAhAiA0EEaygCACICQXhxIgQgAUEEdCIBQQRBCCACQQNxIgIbckkNASACQQAgBCABQSdqSxsNAiADEBMLAkAgAEF/Rg0AIAAgACgCBEEBayIBNgIEIAENACAAQQRrKAIAIgFBeHFBHEEgIAFBA3EiAxtJDQEgA0EAIAFBwABPGw0CIAAQEwsPC0Gho8EAQS5B0KPBABBXAAtB4KPBAEEuQZCkwQAQVwALnQMBBX8jAEEgayIDJAAgACgCDCEEAkACQAJAAkACQAJAIAAoAhQiASAAKAIQIgJJBEADQAJAIAEgBGotAAAiBUEJaw4kAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQGAwsgACABQQFqIgE2AhQgASACRw0ACyACIQELIANBEGogBCACIAFBAWoiACACIAAgAkkbECBBnKnBAC0AABogAygCFCECIAMoAhAhAEEUEAwiAUUNBSABIAA2AgwgAUEDNgIAIAEgAjYCEAwECyAFQf0ARg0BCyADQQhqIAQgAiABQQFqIgAgAiAAIAJJGxAgQZypwQAtAAAaIAMoAgwhAiADKAIIIQBBFBAMIgFFDQMgASAANgIMIAFBFjYCACABIAI2AhAMAgsgACABQQFqNgIUQQAhAQwBCyADQRhqIAQgAiABQQFqIgAgAiAAIAJJGxAgQZypwQAtAAAaIAMoAhwhAiADKAIYIQBBFBAMIgFFDQEgASAANgIMIAFBFTYCACABIAI2AhALIANBIGokACABDwsAC/ECAQR/IAAoAgwhAgJAAkAgAUGAAk8EQCAAKAIYIQMCQAJAIAAgAkYEQCAAQRRBECAAKAIUIgIbaigCACIBDQFBACECDAILIAAoAggiASACNgIMIAIgATYCCAwBCyAAQRRqIABBEGogAhshBANAIAQhBSABIgJBFGogAkEQaiACKAIUIgEbIQQgAkEUQRAgARtqKAIAIgENAAsgBUEANgIACyADRQ0CIAAgACgCHEECdEGspcEAaiIBKAIARwRAIANBEEEUIAMoAhAgAEYbaiACNgIAIAJFDQMMAgsgASACNgIAIAINAUHIqMEAQciowQAoAgBBfiAAKAIcd3E2AgAMAgsgACgCCCIAIAJHBEAgACACNgIMIAIgADYCCA8LQcSowQBBxKjBACgCAEF+IAFBA3Z3cTYCAA8LIAIgAzYCGCAAKAIQIgEEQCACIAE2AhAgASACNgIYCyAAKAIUIgBFDQAgAiAANgIUIAAgAjYCGAsLxwIBBn8gASACQQF0aiEJIABBgP4DcUEIdiEKIABB/wFxIQwCQAJAAkACQANAIAFBAmohCyAHIAEtAAEiAmohCCAKIAEtAAAiAUcEQCABIApLDQQgCCEHIAsiASAJRw0BDAQLIAcgCEsNASAEIAhJDQIgAyAHaiEBA0AgAkUEQCAIIQcgCyIBIAlHDQIMBQsgAkEBayECIAEtAAAgAUEBaiEBIAxHDQALC0EAIQIMAwsgByAIQaSQwAAQfQALIAggBEGkkMAAEHwACyAAQf//A3EhByAFIAZqIQNBASECA0AgBUEBaiEAAkAgBSwAACIBQQBOBEAgACEFDAELIAAgA0cEQCAFLQABIAFB/wBxQQh0ciEBIAVBAmohBQwBC0GUkMAAEHsACyAHIAFrIgdBAEgNASACQQFzIQIgAyAFRw0ACwsgAkEBcQvMAgICfAJ/IwBBEGsiByQAIAO6IQUgAAJ/AkACQAJAAkAgBCAEQR91IghzIAhrIghBtQJPBEADQCAFRAAAAAAAAAAAYQ0FIARBAE4NAiAFRKDI64XzzOF/oyEFIARBtAJqIgQgBEEfdSIIcyAIayIIQbUCTw0ACwsgCEEDdEGQjcEAaisDACEGIARBAE4NASAFIAajIQUMAwsgB0EIaiABKAIMIAEoAhAgASgCFBAgQZypwQAtAAAaIAcoAgwhAiAHKAIIIQQMAQsgBSAGoiIFmUQAAAAAAADwf2INASAHIAEoAgwgASgCECABKAIUECBBnKnBAC0AABogBygCBCECIAcoAgAhBAtBFBAMIgEEQCABIAQ2AgwgAUEONgIAIAAgATYCBCABIAI2AhBBAQwCCwALIAAgBSAFmiACGzkDCEEACzYCACAHQRBqJAALxAIBA38jAEEQayICJAACQCABQYABTwRAIAJBADYCDAJ/IAFBgBBPBEAgAUGAgARPBEAgAkEMakEDciEEIAIgAUESdkHwAXI6AAwgAiABQQZ2QT9xQYABcjoADiACIAFBDHZBP3FBgAFyOgANQQQMAgsgAkEMakECciEEIAIgAUEMdkHgAXI6AAwgAiABQQZ2QT9xQYABcjoADUEDDAELIAJBDGpBAXIhBCACIAFBBnZBwAFyOgAMQQILIQMgBCABQT9xQYABcjoAACADIAAoAgAgACgCCCIBa0sEQCAAIAEgAxA9IAAoAgghAQsgACgCBCABaiACQQxqIAMQGhogACABIANqNgIIDAELIAAoAggiAyAAKAIARgRAIABB2IrAABBACyAAIANBAWo2AgggACgCBCADaiABOgAACyACQRBqJABBAAusAwEFfyMAQRBrIgQkACAAAn8CQAJAIAEoAgQiAiABKAIIIgNPBEAgAiADa0EDTQRAIAEgAjYCCCAEQQhqIAEoAgAgAiACECBBnKnBAC0AABogBCgCDCECIAQoAgghA0EUEAwiAUUNAiABIAM2AgwgAUEENgIADAMLIAEgA0EEaiIFNgIIIAMgASgCACIGaiIBLQABQQF0QZCFwQBqLwEAIAEtAABBAXRBkInBAGovAQBywUEIdCABLQACQQF0QZCJwQBqLgEAciABLQADQQF0QZCF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pMEAEFcAC10BAX8jAEEwayIBJAAgAUEBNgIMIAEgADYCCCABQQI2AhQgAUGQgMAANgIQIAFCATcCHCABIAFBCGqtQoCAgIAQhDcDKCABIAFBKGo2AhggAUEQahA/IAFBMGokAAtdAQF/IwBBMGsiASQAIAFBATYCDCABIAA2AgggAUECNgIUIAFB1IDAADYCECABQgE3AhwgASABQQhqrUKAgICAEIQ3AyggASABQShqNgIYIAFBEGoQPyABQTBqJAALVgEBfgJAIANBwABxRQRAIANFDQEgAkEAIANrQT9xrYYgASADQT9xrSIEiIQhASACIASIIQIMAQsgAiADQT9xrYghAUIAIQILIAAgATcDACAAIAI3AwgLXgEDfyMAQRBrIgIkACACQQhqIAElARAIIAIoAggiBARAIAIoAgwhAyAAIAQ2AgQgACADNgIIIAAgAzYCACABQYQBTwRAIAEQSQsgAkEQaiQADwtBmKXAAEExEIEBAAtYAQF/An8gAigCBARAAkAgAigCCCIDRQRADAELIAIoAgAgA0EBIAEQFgwCCwtBnKnBAC0AABogARAMCyECIAAgATYCCCAAIAJBASACGzYCBCAAIAJFNgIAC0gAAkAgAWlBAUdBgICAgHggAWsgAElyDQAgAARAQZypwQAtAAAaAn8gAUEJTwRAIAEgABArDAELIAAQDAsiAUUNAQsgAQ8LAAtBAQF/IAIgACgCACAAKAIIIgNrSwRAIAAgAyACED0gACgCCCEDCyAAKAIEIANqIAEgAhAaGiAAIAIgA2o2AghBAAtBAQF/IwBBIGsiAyQAIANBADYCECADQQE2AgQgA0IENwIIIAMgATYCHCADIAA2AhggAyADQRhqNgIAIAMgAhBcAAs4AAJAIAJBgIDEAEYNACAAIAIgASgCEBEAAEUNAEEBDwsgA0UEQEEADwsgACADIAQgASgCDBEBAAs2AQF/IwBBIGsiASQAIAFBADYCGCABQQE2AgwgAUHoiMAANgIIIAFCBDcCECABQQhqIAAQXAALLQACQCADaUEBR0GAgICAeCADayABSXJFBEAgACABIAMgAhAWIgANAQsACyAACzYBAX9BnKnBAC0AABpBGBAMIgJFBEAACyACQgQ3AhAgAkIANwIIIAJCgYCAgBA3AgAgAkEIagvqAQICfwF+IwBBEGsiAiQAIAJBATsBDCACIAE2AgggAiAANgIEIwBBEGsiASQAIAJBBGoiACkCACEEIAEgADYCDCABIAQ3AgQjAEEQayIAJAAgAUEEaiIBKAIAIgIoAgwhAwJAAkACQAJAIAIoAgQOAgABAgsgAw0BQQEhAkEAIQMMAgsgAw0AIAIoAgAiAigCBCEDIAIoAgAhAgwBCyAAQYCAgIB4NgIAIAAgATYCDCAAQRsgASgCCCIALQAIIAAtAAkQTQALIAAgAzYCBCAAIAI2AgAgAEEcIAEoAggiAC0ACCAALQAJEE0ACx8BAn4gACkDACICIAJCP4ciA4UgA30gAkIAWSABECwLJQAgAEUEQEHEpsAAQTIQgQEACyAAIAIgAyAEIAUgASgCEBELAAsjACAARQRAQcSmwABBMhCBAQALIAAgAiADIAQgASgCEBEKAAsjACAARQRAQcSmwABBMhCBAQALIAAgAiADIAQgASgCEBEHAAsjACAARQRAQcSmwABBMhCBAQALIAAgAiADIAQgASgCEBEgAAsjACAARQRAQcSmwABBMhCBAQALIAAgAiADIAQgASgCEBEiAAsjACAARQRAQcSmwABBMhCBAQALIAAgAiADIAQgASgCEBEkAAsiACAALQAARQRAIAFBxYzAAEEFEA8PCyABQcqMwABBBBAPCyEAIABFBEBBxKbAAEEyEIEBAAsgACACIAMgASgCEBEDAAssAEGQqcEAKAIARQRAQZCpwQBBATYCAAtBmKnBACAANgIAQZSpwQBBATYCAAsfACAARQRAQcSmwABBMhCBAQALIAAgAiABKAIQEQAACxoBAW8gACUBIAElASABEEkgAiUBIAIQSRAFCxwAIAEoAhwgACgCACAAKAIEIAEoAiAoAgwRAQALFgEBbyAAJQEQASEBECUiACABJgEgAAsWAQFvIAAgARACIQIQJSIAIAImASAACxkAIAEoAhxB/ILAAEEMIAEoAiAoAgwRAQALGQAgASgCHEHP/cAAQQMgASgCICgCDBEBAAsZACABKAIcQeSFwABBCiABKAIgKAIMEQEACxkAIAEoAhxBpIjAAEESIAEoAiAoAgwRAQALGQAgASgCHEG2iMAAQQUgASgCICgCDBEBAAsZACABKAIcQfqKwABBDiABKAIgKAIMEQEACxYCAW8BfyAAEAQhARAlIgIgASYBIAILqyMCEX8BfRAlIhAgASYBIAIhEyMAQYABayIDJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACINBEAgAEEIayIRIBEoAgBBAWoiADYCACAARQ0FIA0oAgANASANQX82AgACfyAQEIgBQQFGBEBBnKnBAC0AABpBBBAMIgJFDQQgAkHu6rHjBjYAACADQQQ2AjQgAyACNgIwIANBBDYCLEEEDAELIBAQaiEAAkBBkKnBACgCAEUEQEGUqcEAQgA3AgBBkKnBAEEBNgIADAELQZSpwQAoAgBBlKnBAEIANwIAQQFGDQULIANBLGogABBTIAMoAjAhAiADKAI0CyEAIANBADYCTCADIAA2AkggAyACNgJEIANBgAE6AFAgA0EANgJAIANCgICAgBA3AjggAyACIAAgAAR/A0AgAiAEai0AACIFQQlrIghBF0tBASAIdEGTgIAEcUVyDQYgACAEQQFqIgRHDQALIAMgADYCTCAAQQFqBUEBCyICIAAgACACSxsQIEGcqcEALQAAGiADKAIEIQAgAygCACECQRQQDCIERQ0FIAQgAjYCDCAEQQU2AgAgBCAANgIQDAgLEIABAAsQggEAC0EBQQRBsP/AABB6AAtB5IDAAEExEIEBAAsgBUHbAEcNASADQf8AOgBQIAMgBEEBajYCTCADQQE6AFggAyADQThqNgJUIANBADYCZCADQoCAgIDAADcCXEEEIRICfwJAAkACQAJAAkADQCADQfAAaiADQdQAahAcAkAgAy0AcEUEQCADLQBxBEAgAygCVCIGKAIMIQggBigCFCIEIAYoAhAiAkkEQANAIAQgCGotAAAiAEEJayIFQRdLQQEgBXRBk4CABHFFcg0EIAYgBEEBaiIENgIUIAIgBEcNAAsgAiEECyADQRBqIAggAiAEQQFqIgAgAiAAIAJJGxAgQZypwQAtAAAaIAMoAhQhACADKAIQIQJBFBAMIgVFDQogBSACNgIMIAVBBTYCACAFIAA2AhAMCAsgAygCYCEFIAMoAlwMCAsgAygCdCEFDAYLAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJ/An8CQAJAAkACQAJAAkACQCAAQdsARwRAIABB+wBGDQEgBiADQf8AakHkhMAAEBAhBAwgCyAGIAYtABhBAWsiBToAGCAEQQFqIQAg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AEEANgIACwgAIAAlARAACwgAIAAlARAKCwukpAEfAEGAgMAAC8EEbWlzc2luZyBmaWVsZCBgAAAAEAAPAAAAREAQAAEAAABpbnZhbGlkIGxlbmd0aCAAIAAQAA8AAAAXQBAACwAAAGR1cGxpY2F0ZSBmaWVsZCBgAAAAQAAQABEAAABEQBAAAQAAAGNhbGxlZCBgUmVzdWx0Ojp1bndyYXBfdGhyb3coKWAgb24gYW4gYEVycmAgdmFsdWVhdHRlbXB0ZWQgdG8gdGFrZSBvd25lcnNoaXAgb2YgUnVzdCB2YWx1ZSB3aGlsZSBpdCB3YXMgYm9ycm93ZWRzcmMvbGliLnJzAADUABAACgAAADgAAAAXAAAAYWRkX3RleHR1cmUgcmVjZWl2ZWQgbm90IGNvcGF0aWJsZSBkYXRhIGZyb20gSlMuIEZhaWxlZCBhdCBjb252ZXJzaW9uIHRvIFJ1c3QgdHlwZXMu8AAQAFQAAADUABAACgAAADUAAAANAAAA1AAQAAoAAABZAAAAGAAAANQAEAAKAAAAUQAAAA0AAABzdHJ1Y3QgUG9pbnR0ZXh0dXJlX2lkdmVydGV4X2RhdGEvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9zZXJkZV9qc29uLTEuMC4xMzQvc3JjL2RlLnJzaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZQCdARAAXgAAAJoEAAAiAAAAnQEQAF4AAACQBAAAJgBBzITAAAsFAQAAAB0AQdyEwAALBQEAAAAeAEHshMAACwUBAAAAHwBB/ITAAAvJBAEAAAAgAAAAc3RydWN0IFZlcnRleFBvaW50IHdpdGggNCBlbGVtZW50cwAAhAIQACIAAAAAAAAACAAAAAQAAAAhAAAAc3RydWN0IFBvaW50IHdpdGggMiBlbGVtZW50c8ACEAAcAAAAYSBzZXF1ZW5jZS9ob21lL3J1bm5lci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3NlcmRlLTEuMC4yMTYvc3JjL2RlL2ltcGxzLnJzAAAA7gIQAF8AAACYBAAAHAAAAHNyYy90ZXh0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NWNmZWNiL2xpYnJhcnkvYWxsb2Mvc3JjL3NsaWNlLnJzAABkPxAASgAAAKIAAAAZAAAAYXNzZXJ0aW9uIGZhaWxlZDogc2VsZi5pc19jaGFyX2JvdW5kYXJ5KG5ld19sZW4p0FAQAEsAAADABQAADQAAACBhdCBsaW5lIGludmFsaWQgdHlwZTogLCBleHBlY3RlZCAAAAlAEAAOAAAAF0AQAAsAAABmbG9hdGluZyBwb2ludCBgYAAAADRAEAAQAAAAREAQAAEAAABudWxsL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2Yvc2VyZGVfanNvbi0xLjAuMTM0L3NyYy9lcnJvci5ycwAAAFxAEABhAAAA9wEAACEAAABcQBAAYQAAAPsBAAAMAAAAXEAQAGEAAAACAgAAIQAAAFxAEABhAAAACwIAACoAAABcQBAAYQAAAA8CAAAsAAAAL2hvbWUvcnVubmVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2Yvc2VyZGVfanNvbi0xLjAuMTM0L3NyYy9yZWFkLnJzEEEQAGAAAACgAQAARQAAABBBEABgAAAApQEAAD0AAAAQQRAAYAAAAK0BAAAaAAAAEEEQAGAAAAD6AQAAEwAAABBBEABgAAAA/wEAADMAAAAQQRAAYAAAAAMCAAA+AAAAEEEQAGAAAAAJAgAAOgAAABBBEABgAAAAVgIAABMAAAAQQRAAYAAAAGgCAAAZAAAAEEEQAGAAAABsAwAAGQAAABBBEABgAAAAbQMAABoAAAAQQRAAYAAAAG4DAAAZAAAAEEEQAGAAAABvAwAAGQAAABBBEABgAAAAcAMAABkAAAAQQRAAYAAAAHEDAAAZAAAAEEEQAGAAAAByAwAAGQAAABBBEABgAAAAcwMAABkAAAAQQRAAYAAAAM4DAAARAAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAABAAIAAwAEAAUABgAHAAgACQD//////////////////woACwAMAA0ADgAPAP////////////////////////////////////////////////////////////////////8KAAsADAANAA4ADwD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AABAAIAAwAEAAUABgAHAAgACQAP//////////////////oACwAMAA0ADgAPAA/////////////////////////////////////////////////////////////////////6AAsADAANAA4ADwAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAAAAAA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OTg0NmY4OTNiMDlhMWJlMWZjODU2MGUzM2ZjM2M4MTVjZmVjYi9saWJyYXJ5L2FsbG9jL3NyYy9yYXdfdmVjLnJzABtREABMAAAAKgIAABEAAAAvcnVzdC9kZXBzL2RsbWFsbG9jLTAuMi43L3NyYy9kbG1hbGxvYy5yc2Fzc2VydGlvbiBmYWlsZWQ6IHBzaXplID49IHNpemUgKyBtaW5fb3ZlcmhlYWQAeFEQACkAAACoBAAACQAAAGFzc2VydGlvbiBmYWlsZWQ6IHBzaXplIDw9IHNpemUgKyBtYXhfb3ZlcmhlYWQAAHhREAApAAAArgQAAA0AAABudWxsIHBvaW50ZXIgcGFzc2VkIHRvIHJ1c3RyZWN1cnNpdmUgdXNlIG9mIGFuIG9iamVjdCBkZXRlY3RlZCB3aGljaCB3b3VsZCBsZWFkIHRvIHVuc2FmZSBhbGlhc2luZyBpbiBydXN0AHsJcHJvZHVjZXJzAghsYW5ndWFnZQEEUnVzdAAMcHJvY2Vzc2VkLWJ5AwVydXN0Yx0xLjg2LjAgKDA1Zjk4NDZmOCAyMDI1LTAzLTMxKQZ3YWxydXMGMC4yMi4wDHdhc20tYmluZGdlbhIwLjIuOTUgKDNhOGRhN2NiOCkASQ90YXJnZXRfZmVhdHVyZXMEKw9tdXRhYmxlLWdsb2JhbHMrCHNpZ24tZXh0Kw9yZWZlcmVuY2UtdHlwZXMrCm11bHRpdmFsdWU=".split("base64,")[1],IA=Uint8Array.from(atob(BA),(A=>A.charCodeAt(0)));WebAssembly.instantiate(IA,{"./index_bg.js":I}).then((A=>{L(A.instance.exports),A.instance.exports.__wbindgen_start()}));var gA=function(A,B,I,g){return new(I||(I=Promise))((function(Q,E){function C(A){try{o(g.next(A))}catch(A){E(A)}}function i(A){try{o(g.throw(A))}catch(A){E(A)}}function o(A){var B;A.done?Q(A.value):(B=A.value,B instanceof I?B:new I((function(A){A(B)}))).then(C,i)}o((g=g.apply(A,B||[])).next())}))};function QA(A){return gA(this,void 0,void 0,(function*(){const B=yield function(){return Q(this,void 0,void 0,(function*(){if(!navigator.gpu)throw Error("this browser does not support WebGPU");const A=yield navigator.gpu.requestAdapter();if(!A)throw Error("this browser supports webgpu but it appears disabled");const B=yield A.requestDevice();return B.lost.then((A=>{console.error(`WebGPU device was lost: ${A.message}`),A.reason})),B}))}(),I=Z.new(300,300),E=A.getContext("webgpu");if(!E)throw Error("WebGPU from canvas needs to be always provided");const R=navigator.gpu.getPreferredCanvasFormat();E.configure({device:B,format:R}),function(A,B){new ResizeObserver((A=>{for(const I of A)g(I.target,0|I.contentBoxSize[0].inlineSize,0|I.contentBoxSize[0].blockSize,B)})).observe(A),g(A,A.clientWidth,A.clientHeight,B)}(A,B),function(A,B){F=function(A,B){const I=A.createShaderModule({label:"triangle shader module",code:i}),g=A.createRenderPipeline({label:"triangle pipline",layout:"auto",vertex:{module:I,entryPoint:"vs",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,offset:0,format:"float32x2"}]}]},fragment:{module:I,entryPoint:"fs",targets:[{format:B}]},depthStencil:{depthWriteEnabled:!1,depthCompare:"always",format:"depth24plus"}});return function(B,I,Q){const E=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),i=new Float32Array(16),o=i.subarray(0,4),e=i.subarray(4,16);o.set([Math.random(),Math.random(),Math.random(),1]);const D=new Float32Array([500,100,800,400,200,400]),t=new Uint32Array([0,1,2]),w=A.createBuffer({label:"vertex buffer vertices",size:D.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(w,0,D);const a=A.createBuffer({label:"index buffer",size:t.byteLength,usage:GPUBufferUsage.INDEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(a,0,t);const n=A.createBindGroup({label:"bind group for object",layout:g.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:E}}]});B.setPipeline(g),B.setVertexBuffer(0,w),B.setIndexBuffer(a,"uint32"),e.set(I),C.translate(e,[Q,0],e),A.queue.writeBuffer(E,0,i),B.setBindGroup(0,n),B.drawIndexed(3)}}(A,B),c=function(A,B){const I=A.createShaderModule({label:"bezier shader module",code:o}),g=A.createRenderPipeline({label:"bezier pipline",layout:"auto",primitive:{topology:"triangle-strip"},vertex:{module:I,entryPoint:"vs",buffers:[{arrayStride:4,attributes:[{shaderLocation:0,offset:0,format:"float32"}]},{arrayStride:4,attributes:[{shaderLocation:1,offset:0,format:"float32"}]},{arrayStride:4,attributes:[{shaderLocation:2,offset:0,format:"uint32"}]}]},fragment:{module:I,entryPoint:"fs",targets:[{format:B}]},depthStencil:{depthWriteEnabled:!1,depthCompare:"always",format:"depth24plus"}});return function(B,I,Q,E,C,i,o){const e=4*Q.length,D=A.createBuffer({label:"storage points",size:e,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST}),t=A.createBuffer({label:"uniforms",size:80,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),w=new Float32Array(20),a=w.subarray(0,16),n=w.subarray(16,17),r=A.createBindGroup({label:"bezier bind group for object",layout:g.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:t}},{binding:1,resource:{buffer:D}}]}),s=A.createBuffer({label:"bezier vertex buffer vertices",size:E.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(s,0,E);const F=A.createBuffer({label:"bezier vertex buffer vertices",size:C.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(F,0,C);const c=A.createBuffer({label:"bezier vertex buffer vertices",size:i.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(c,0,i),B.setPipeline(g),B.setVertexBuffer(0,s),B.setVertexBuffer(1,F),B.setVertexBuffer(2,c),a.set(I),n.set(new Float32Array([o])),A.queue.writeBuffer(t,0,w),A.queue.writeBuffer(D,0,Q),B.setBindGroup(0,r),B.draw(E.length)}}(A,B),h=function(A,B){const I=A.createShaderModule({label:"3d model texture shader module",code:e}),g=A.createRenderPipeline({label:"3d model texture pipline",layout:"auto",vertex:{module:I,entryPoint:"vs",buffers:[{arrayStride:20,attributes:[{shaderLocation:0,offset:0,format:"float32x3"},{shaderLocation:1,offset:12,format:"float32x2"}]}]},fragment:{module:I,entryPoint:"fs",targets:[{format:B}]},depthStencil:{depthWriteEnabled:!1,depthCompare:"always",format:"depth24plus"}});return function(B,I,Q,E,C){const i=A.createSampler({magFilter:"linear",minFilter:"linear"}),o=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),e=new Float32Array(16),D=e.subarray(0,16),t=C.length,w=A.createBuffer({label:"3d model texture vertex buffer vertices",size:E.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(w,0,E);const a=A.createBuffer({label:"3d model texture index buffer",size:C.byteLength,usage:GPUBufferUsage.INDEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(a,0,C);const n=A.createBindGroup({label:"3d model texture bind group for object",layout:g.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:o}},{binding:1,resource:i},{binding:2,resource:Q.createView()}]});B.setPipeline(g),B.setVertexBuffer(0,w),B.setIndexBuffer(a,"uint32"),D.set(I),A.queue.writeBuffer(o,0,e),B.setBindGroup(0,n),B.drawIndexed(t)}}(A,B),G=function(A,B){const I=A.createShaderModule({label:"3d model shader module",code:D}),g=A.createRenderPipeline({label:"3d model pipline",layout:"auto",vertex:{module:I,entryPoint:"vs",buffers:[{arrayStride:12,attributes:[{shaderLocation:0,offset:0,format:"float32x3"}]}]},fragment:{module:I,entryPoint:"fs",targets:[{format:B}]},primitive:{cullMode:"back"},depthStencil:{depthWriteEnabled:!0,depthCompare:"less",format:"depth24plus"}});return function(B,I,Q,E){const C=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),i=new Float32Array(16),o=i.subarray(0,16),e=E.length,D=A.createBuffer({label:"vertex buffer vertices",size:Q.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(D,0,Q);const t=A.createBuffer({label:"index buffer",size:E.byteLength,usage:GPUBufferUsage.INDEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(t,0,E);const w=A.createBindGroup({label:"bind group for object",layout:g.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:C}}]});B.setPipeline(g),B.setVertexBuffer(0,D),B.setIndexBuffer(t,"uint32"),o.set(I),A.queue.writeBuffer(C,0,i),B.setBindGroup(0,w),B.drawIndexed(e)}}(A,B),y=function(A,B){const I=A.createShaderModule({label:"3d model light shader module",code:t}),g=A.createRenderPipeline({label:"3d model light pipline",layout:"auto",vertex:{module:I,entryPoint:"vs",buffers:[{arrayStride:24,attributes:[{shaderLocation:0,offset:0,format:"float32x3"},{shaderLocation:1,offset:12,format:"float32x3"}]}]},fragment:{module:I,entryPoint:"fs",targets:[{format:B}]},primitive:{cullMode:"back"},depthStencil:{depthWriteEnabled:!0,depthCompare:"less",format:"depth24plus"}});return function(B,I,Q,E){const{worldViewProjection:C,normalMatrix:i,lightColor:o,lightDirection:e}=I,D=A.createBuffer({label:"uniforms",size:144,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),t=new Float32Array(36),w=t.subarray(0,12),a=t.subarray(12,28),n=t.subarray(28,32),r=t.subarray(32,35),s=A.createBindGroup({label:"bind group for object",layout:g.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:D}}]}),F=E.length,c=A.createBuffer({label:"vertex buffer vertices",size:Q.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(c,0,Q);const G=A.createBuffer({label:"index buffer",size:E.byteLength,usage:GPUBufferUsage.INDEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(G,0,E),B.setPipeline(g),B.setVertexBuffer(0,c),B.setIndexBuffer(G,"uint32"),w.set(i),a.set(C),n.set(o),r.set(e),A.queue.writeBuffer(D,0,t),B.setBindGroup(0,s),B.drawIndexed(F)}}(A,B),N=function(A){const B=A.createShaderModule({label:"blur shader module",code:w}),I=A.createComputePipeline({layout:"auto",compute:{module:B,entryPoint:"main"}});return function(B,g){const Q=[0,1].map((()=>A.createTexture({size:{width:B.width,height:B.height},format:"rgba8unorm",usage:GPUTextureUsage.COPY_DST|GPUTextureUsage.STORAGE_BINDING|GPUTextureUsage.TEXTURE_BINDING}))),E=(()=>{const B=A.createBuffer({size:4,mappedAtCreation:!0,usage:GPUBufferUsage.UNIFORM});return new Uint32Array(B.getMappedRange())[0]=0,B.unmap(),B})(),C=(()=>{const B=A.createBuffer({size:4,mappedAtCreation:!0,usage:GPUBufferUsage.UNIFORM});return new Uint32Array(B.getMappedRange())[0]=1,B.unmap(),B})(),i=A.createBuffer({size:8,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.UNIFORM}),o=A.createSampler({magFilter:"linear",minFilter:"linear"}),e=A.createBindGroup({layout:I.getBindGroupLayout(0),entries:[{binding:0,resource:o},{binding:1,resource:{buffer:i}}]}),D=A.createBindGroup({layout:I.getBindGroupLayout(1),entries:[{binding:1,resource:B.createView()},{binding:2,resource:Q[0].createView()},{binding:3,resource:{buffer:E}}]}),t=A.createBindGroup({layout:I.getBindGroupLayout(1),entries:[{binding:1,resource:Q[0].createView()},{binding:2,resource:Q[1].createView()},{binding:3,resource:{buffer:C}}]}),w=A.createBindGroup({layout:I.getBindGroupLayout(1),entries:[{binding:1,resource:Q[1].createView()},{binding:2,resource:Q[0].createView()},{binding:3,resource:{buffer:E}}]}),r=a-14;A.queue.writeBuffer(i,0,new Uint32Array([15,r]));const s=g.beginComputePass();s.setPipeline(I),s.setBindGroup(0,e),s.setBindGroup(1,D),s.dispatchWorkgroups(Math.ceil(B.width/r),Math.ceil(B.height/n[1])),s.setBindGroup(1,t),s.dispatchWorkgroups(Math.ceil(B.height/r),Math.ceil(B.width/n[1]));for(let A=0;A<1;++A)s.setBindGroup(1,w),s.dispatchWorkgroups(Math.ceil(B.width/r),Math.ceil(B.height/n[1])),s.setBindGroup(1,t),s.dispatchWorkgroups(Math.ceil(B.height/r),Math.ceil(B.width/n[1]));return s.end(),Q[1]}}(A),M=function(A,B){const I=A.createShaderModule({label:"texture module",code:r}),g=A.createSampler({minFilter:"linear",magFilter:"linear"}),Q=A.createRenderPipeline({label:"texture pipeline",layout:"auto",vertex:{module:I,entryPoint:"vs",buffers:[{arrayStride:4*s,attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"float32x2"}]}]},fragment:{module:I,entryPoint:"fs",targets:[{format:B}]}}),E=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),C=new Float32Array(16),i=C.subarray(0,16);return function(B,I,o,e){const D=Math.round(o.length/s),t=A.createBuffer({label:"vertex buffer vertices",size:o.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(t,0,o);const w=A.createBindGroup({layout:Q.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:E}},{binding:1,resource:g},{binding:2,resource:e.createView()}]});B.setPipeline(Q),B.setVertexBuffer(0,t),i.set(I),A.queue.writeBuffer(E,0,C),B.setBindGroup(0,w),B.draw(D)}}(A,B)}(B,R);const k=[];return function(A,B,I,g,Q,E){const C=function(A){return S.ortho(0,A.clientWidth,A.clientHeight,0,1,-1)}(B);requestAnimationFrame((function B(Q){const i=g.createCommandEncoder(),o=function(A,B){const I=A.getCurrentTexture();return function(A,B,I){U&&U.width===B&&U.height===I||(null==U||U.destroy(),U=A.createTexture({size:[B,I],format:"depth24plus",usage:GPUTextureUsage.RENDER_ATTACHMENT}))}(B,I.width,I.height),{label:"our render to canvas renderPass",colorAttachments:[{view:I.createView(),clearValue:[0,0,0,1],loadOp:"clear",storeOp:"store"}]}}(I,g),e=i.beginRenderPass(o);let D=!1,t=0;for(;!D;){const{texture_id:B,vertex_data:I}=A.get_shader_input(t);t++,D=0===I.length,D||M(e,C,new Float32Array(I),E[B])}e.end();const w=i.finish();g.queue.submit([w]),requestAnimationFrame(B)}))}(I,A,E,B,0,k),{addImage:g=>{const Q=k.length;k.push(function(A,B,I={}){const g=A.createTexture({format:"rgba8unorm",mipLevelCount:I.mips?Y(B.width,B.height):1,size:[B.width,B.height],usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT});return function(A,B,I,{flipY:g,depthOrArrayLayers:Q}={}){A.queue.copyExternalImageToTexture({source:I,flipY:g},{texture:B},{width:I.width,height:I.height,depthOrArrayLayers:Q})}(A,g,B,I),g}(B,g)),console.log("env",g.width,A.width);const E=function(A,B){if(B.height-A.height<B.width-A.width)return J(A.height,.2*B.height,.8*B.height)/A.height;return J(A.width,.2*B.width,.8*B.width)/A.width}(g,A),C=g.width*E,i=g.height*E,o=.5*(A.width-C),e=.5*(A.height-i);I.add_texture([{x:o,y:e,u:0,v:0},{x:o+C,y:e,u:1,v:0},{x:o+C,y:e+i,u:1,v:1},{x:o,y:e+i,u:0,v:1}],Q)},updatePoints:(A,B)=>{I.update_points(A,B)},destroy:()=>{E.unconfigure(),B.destroy()}}}))}var EA=B.A;export{EA as default};
@@ -0,0 +1,2 @@
1
+ export * from "./pkg/index_bg.js";
2
+ //# sourceMappingURL=glue_code.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glue_code.d.ts","sourceRoot":"","sources":["../../../crate/glue_code.js"],"names":[],"mappings":""}
@@ -0,0 +1,44 @@
1
+ export function __wbg_set_wasm(val: any): void;
2
+ export function __wbindgen_is_undefined(arg0: any): boolean;
3
+ export function __wbg_stringify_eead5648c09faaf8(...args: any[]): any;
4
+ export function __wbindgen_string_new(arg0: any, arg1: any): any;
5
+ export function __wbg_new_e69b5f66fda8f13c(): Object;
6
+ export function __wbindgen_number_new(arg0: any): any;
7
+ export function __wbg_set_20cbc34131e76824(arg0: any, arg1: any, arg2: any): void;
8
+ export function __wbg_new_034f913e7636e987(): any[];
9
+ export function __wbg_set_425e70f7c64ac962(arg0: any, arg1: any, arg2: any): void;
10
+ export function __wbindgen_string_get(arg0: any, arg1: any): void;
11
+ export function __wbindgen_throw(arg0: any, arg1: any): void;
12
+ export function __wbindgen_init_externref_table(): void;
13
+ export class State {
14
+ static __wrap(ptr: any): any;
15
+ /**
16
+ * @param {number} width
17
+ * @param {number} height
18
+ * @returns {State}
19
+ */
20
+ static "new"(width: number, height: number): State;
21
+ __destroy_into_raw(): number | undefined;
22
+ __wbg_ptr: number | undefined;
23
+ free(): void;
24
+ /**
25
+ * @param {any} raw_points
26
+ * @param {number} id
27
+ */
28
+ add_texture(raw_points: any, id: number): void;
29
+ /**
30
+ * @param {number} index
31
+ * @returns {any}
32
+ */
33
+ get_shader_input(index: number): any;
34
+ /**
35
+ * @param {number} texture_id
36
+ * @param {any} raw_points
37
+ */
38
+ update_points(texture_id: number, raw_points: any): void;
39
+ }
40
+ export const __wbg_error_53abcd6a461f73d8: {
41
+ (...data: any[]): void;
42
+ (message?: any, ...optionalParams: any[]): void;
43
+ };
44
+ //# sourceMappingURL=index_bg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index_bg.d.ts","sourceRoot":"","sources":["../../../../crate/pkg/index_bg.js"],"names":[],"mappings":"AACA,+CAEC;AAyKD,4DAGC;AAED,sEAGe;AAEf,iEAGC;AAED,qDAGC;AAED,sDAGC;AAED,kFAEC;AAED,oDAGC;AAED,kFAEC;AAED,kEAOC;AAED,6DAEC;AAID,wDASC;AApHD;IAEI,6BAMC;IAaD;;;;OAIG;IACH,oBAJW,MAAM,UACN,MAAM,GACJ,KAAK,CAKjB;IAnBD,yCAKC;IAHG,8BAAkB;IAKtB,aAGC;IAUD;;;OAGG;IACH,wBAHW,GAAG,MACH,MAAM,QAIhB;IACD;;;OAGG;IACH,wBAHW,MAAM,GACJ,GAAG,CAKf;IACD;;;OAGG;IACH,0BAHW,MAAM,cACN,GAAG,QAIb;CACJ;AAqDD;;;EAA6H"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvasSizeObserver.d.ts","sourceRoot":"","sources":["../../../../src/WebGPU/canvasSizeObserver.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,YAAY,QAgBvB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDevice.d.ts","sourceRoot":"","sources":["../../../../src/WebGPU/getDevice.ts"],"names":[],"mappings":"AAAA,wBAA8B,SAAS,uBAuBtC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createCheckedImageData.d.ts","sourceRoot":"","sources":["../../../../../src/WebGPU/getTexture/createCheckedImageData.ts"],"names":[],"mappings":"AAiBA,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CAwBrF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateMimapsArray.d.ts","sourceRoot":"","sources":["../../../../../src/WebGPU/getTexture/generateMimapsArray.ts"],"names":[],"mappings":"AAIA,UAAU,cAAc;IACtB,cAAc,EAAE,oBAAoB,CAAC;IACrC,eAAe,EAAE,CAAC,CAAC;CACpB;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,UAAU,EACnB,cAAc,EAAE,cAAc,QAuH/B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/WebGPU/getTexture/index.ts"],"names":[],"mappings":"AAGA,UAAU,OAAO;IACf,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,KAAK,aAAa,GAChB,WAAW,GACX,gBAAgB,GAChB,iBAAiB,GACjB,gBAAgB,GAChB,eAAe,CAAC;AAOlB,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,0BAA0B,CAAA;IAClC,WAAW,EAAE,OAAO,CAAA;CACrB;AAgCD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,cAUlG;AAGD,wBAAgB,WAAW,CACzB,MAAM,EAAE,SAAS,EACjB,aAAa,EAAE,UAAU,EACzB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,0BAA0B,EAClC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,OAAY,QA0BtB;AAGD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAE,OAAY,cAWtG;AAiBD,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,wBAIhD;AAED,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,uBAG5F"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"m3.d.ts","sourceRoot":"","sources":["../../../../src/WebGPU/m3.ts"],"names":[],"mappings":"AACA,QAAA,MAAM,IAAI;gBACI,YAAY;sBAON,MAAM,UAAU,MAAM;;gBAe5B,YAAY,KAAK,YAAY;0BAmCnB,CAAC,MAAM,EAAE,MAAM,CAAC;6BAOb,MAAM;sBAUb,CAAC,MAAM,EAAE,MAAM,CAAC;iBAOrB,YAAY,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC;cAI9C,YAAY,kBAAkB,MAAM;aAIrC,YAAY,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;CAG/C,CAAA;AAED,eAAe,IAAI,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getProgram.d.ts","sourceRoot":"","sources":["../../../../../../src/WebGPU/programs/blur/getProgram.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,MAAM,EAAE,SAAS,IAehD,SAAS,UAAU,EACnB,gBAAgB,iBAAiB,KAChC,UAAU,CA2Kd"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getProgram.d.ts","sourceRoot":"","sources":["../../../../../../src/WebGPU/programs/draw3dModel/getProgram.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,gBAAgB,IAwCtF,MAAM,oBAAoB,EAC1B,QAAQ,YAAY,EACpB,YAAY,YAAY,EACxB,WAAW,WAAW,UAmDzB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getProgram.d.ts","sourceRoot":"","sources":["../../../../../../src/WebGPU/programs/draw3dModelLight/getProgram.ts"],"names":[],"mappings":"AAEA,UAAU,QAAQ;IAChB,mBAAmB,EAAE,YAAY,CAAC;IAClC,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,YAAY,CAAC;IACzB,cAAc,EAAE,YAAY,CAAA;CAC7B;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,gBAAgB,IAyCtF,MAAM,oBAAoB,EAC1B,SAAS,QAAQ,EACjB,YAAY,YAAY,EACxB,WAAW,WAAW,UAqEzB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getProgram.d.ts","sourceRoot":"","sources":["../../../../../../src/WebGPU/programs/draw3dModelTexture/getProgram.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,gBAAgB,IAoCtF,MAAM,oBAAoB,EAC1B,QAAQ,YAAY,EACpB,SAAS,UAAU,EACnB,YAAY,YAAY,EACxB,WAAW,WAAW,UAwDzB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getProgram.d.ts","sourceRoot":"","sources":["../../../../../../src/WebGPU/programs/drawBezier/getProgram.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,gBAAgB,IAiDtF,MAAM,oBAAoB,EAC1B,QAAQ,YAAY,EACpB,YAAY,YAAY,EACxB,OAAO,YAAY,EACnB,SAAS,YAAY,EACrB,kBAAkB,WAAW,EAC7B,MAAM,MAAM,UAoFf"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getProgram.d.ts","sourceRoot":"","sources":["../../../../../../src/WebGPU/programs/drawTexture/getProgram.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,UAAU,UAAU,CAChC,MAAM,EAAE,SAAS,EACjB,kBAAkB,EAAE,gBAAgB,IAqElC,MAAM,oBAAoB,EAC1B,uBAAuB,YAAY,EACnC,YAAY,YAAY,CAAC,eAAe,CAAC,EACzC,SAAS,UAAU,UAkCtB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getProgram.d.ts","sourceRoot":"","sources":["../../../../../../src/WebGPU/programs/drawTriangle/getProgram.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,gBAAgB,IA8CtF,MAAM,oBAAoB,EAC1B,QAAQ,YAAY,EACpB,GAAG,MAAM,UAkEZ"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initPrograms.d.ts","sourceRoot":"","sources":["../../../../../src/WebGPU/programs/initPrograms.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,2BAA2B,CAAA;AACvD,OAAO,aAAa,MAAM,yBAAyB,CAAA;AACnD,OAAO,qBAAqB,MAAM,iCAAiC,CAAA;AACnE,OAAO,cAAc,MAAM,0BAA0B,CAAA;AACrD,OAAO,mBAAmB,MAAM,+BAA+B,CAAA;AAC/D,OAAO,OAAO,MAAM,mBAAmB,CAAA;AACvC,OAAO,cAAc,MAAM,0BAA0B,CAAA;AAErD,eAAO,IAAI,YAAY,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAA;AAC3D,eAAO,IAAI,UAAU,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAA;AACvD,eAAO,IAAI,WAAW,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AACzD,eAAO,IAAI,kBAAkB,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAA;AACvE,eAAO,IAAI,gBAAgB,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAA;AACnE,eAAO,IAAI,QAAQ,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,CAAA;AAC/C,eAAO,IAAI,WAAW,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAEzD,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,MAAM,EAAE,SAAS,EACjB,kBAAkB,EAAE,gBAAgB,QASrC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../../src/__test__/index.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Preview/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../../src/consts.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,aAAa,EAAE,GAAG,CAAC;QACnB,gBAAgB,EAAE,MAAM,CAAC;KAC1B;IAED,UAAU,SAAS;QACjB,gBAAgB,EAAE,MAAM,CAAC;KAC1B;CACF;AAED,eAAO,MAAM,QAAQ,SAGlB,CAAA;AAEH,eAAO,MAAM,SAAS,QAAsB,CAAA;AAC5C,eAAO,MAAM,YAAY,IAAI,CAAA;AAC7B,eAAO,MAAM,WAAW,QAA2B,CAAA;AAEnD,eAAO,MAAM,cAAc,KAIY,CAAA;AAEvC,eAAO,MAAM,GAAG,QAA0B,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCanvasMatrix.d.ts","sourceRoot":"","sources":["../../../src/getCanvasMatrix.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,MAAM,EAAE,iBAAiB,6BAWhE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCanvasRenderDescriptor.d.ts","sourceRoot":"","sources":["../../../src/getCanvasRenderDescriptor.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,2BAwB7F"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDepthTexture.d.ts","sourceRoot":"","sources":["../../../src/getDepthTexture.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,cAcvF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRenderDescriptor.d.ts","sourceRoot":"","sources":["../../../src/getRenderDescriptor.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,mBAAmB,CACzC,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,SAAS,GAChB,uBAAuB,CAkCzB"}
@@ -1,8 +1,8 @@
1
1
  import { Point } from "types";
2
- interface CreatorAPI {
2
+ export interface CreatorAPI {
3
3
  addImage: (img: HTMLImageElement) => void;
4
4
  updatePoints: (textureId: number, points: Point[]) => void;
5
+ destroy: VoidFunction;
5
6
  }
6
7
  export default function initCreator(canvas: HTMLCanvasElement): Promise<CreatorAPI>;
7
- export {};
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAG7B,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,IAAI,CAAA;IACzC,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,IAAI,CAAA;IAC1D,OAAO,EAAE,YAAY,CAAA;CACtB;AAED,wBAA8B,WAAW,CACvC,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,UAAU,CAAC,CAsDrB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MiniatureVideo.d.ts","sourceRoot":"","sources":["../../../../../src/models/Video/MiniatureVideo.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,OAAO,OAAO,cAAc;IAgB/B,OAAO,CAAC,WAAW;IAEnB,OAAO,CAAC,MAAM;IAjBhB,OAAO,CAAC,MAAM,CAAC,CAAQ;IACvB,OAAO,CAAC,OAAO,CAAC,CAAQ;IACxB,OAAO,CAAC,SAAS,CAAC,CAAQ;IACnB,IAAI,EAAE,gBAAgB,CAAA;IACtB,OAAO,EAAE,OAAO,CAAA;IACvB,OAAO,CAAC,eAAe,CAAgB;IAChC,YAAY,EAAE,UAAU,CAAA;IAC/B,OAAO,CAAC,eAAe,CAAU;IAC1B,SAAS,EAAE,OAAO,CAAA;IACzB,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,SAAS,CAAQ;gBAGvB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,EAClC,WAAW,EAAE,MAAM,MAAM,EACjC,UAAU,EAAE,YAAY,EAChB,MAAM,EAAE,SAAS;IAoD3B,IAAI,QAAQ,CAAC,IAAI,EAAE,MAAM,EAExB;IAED,IAAI,QAAQ,IAJO,MAAM,CAMxB;IAGD,IAAI,QAAQ,WAQX;IAED,IAAI,KAAK,WAQR;IAED,IAAI,MAAM,WAQT;IAED,OAAO,CAAC,iBAAiB;IAiEzB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,eAAe;IAoBhB,cAAc;IAUd,YAAY,CACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,OAAO,GACb,OAAO;IAaH,IAAI,CAAC,IAAI,EAAE,MAAM;IAMjB,KAAK,aAGX;CACF"}
@@ -1,4 +1,4 @@
1
- import { State } from "../crate/pkg";
1
+ import { State } from "../crate/glue_code";
2
2
  export declare const transformMatrix: Float32Array<ArrayBuffer>;
3
3
  export declare const MAP_BACKGROUND_SCALE = 1000;
4
4
  export default function runCreator(state: State, canvas: HTMLCanvasElement, context: GPUCanvasContext, device: GPUDevice, presentationFormat: GPUTextureFormat, textures: GPUTexture[]): void;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/run.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAG1C,eAAO,MAAM,eAAe,2BAAqB,CAAA;AACjD,eAAO,MAAM,oBAAoB,OAAO,CAAA;AAMxC,MAAM,CAAC,OAAO,UAAU,UAAU,CAChC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,kBAAkB,EAAE,gBAAgB,EACpC,QAAQ,EAAE,UAAU,EAAE,QAmCvB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAElC,MAAM,WAAW,cAAe,SAAQ,KAAK;IAC3C,MAAM,EAAE,gBAAgB,GAAG,WAAW,CAAC;CACxC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atNormIndex.d.ts","sourceRoot":"","sources":["../../../../src/utils/atNormIndex.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,UAUnE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"captureCanvasStream.d.ts","sourceRoot":"","sources":["../../../../src/utils/captureCanvasStream.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,UAAU,EAAE,iBAAiB,cAW5E"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"captureCanvasStreamWasm.d.ts","sourceRoot":"","sources":["../../../../src/utils/captureCanvasStreamWasm.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clamp.d.ts","sourceRoot":"","sources":["../../../../src/utils/clamp.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,UAEpE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distancePointToLine.d.ts","sourceRoot":"","sources":["../../../../src/utils/distancePointToLine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAE7B,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,UAKzE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fitCurve.d.ts","sourceRoot":"","sources":["../../../../src/utils/fitCurve.js"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;GAMG;AAEH,yCALW,KAAK,CAAC,KAAK,QAAQ,CAAC,qBAElB,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC,CAmBvC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAngle.d.ts","sourceRoot":"","sources":["../../../../src/utils/getAngle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAE7B,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,UAEtD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAngleDiff.d.ts","sourceRoot":"","sources":["../../../../src/utils/getAngleDiff.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAMxE"}