@mateuszjs/magic-render 0.1.0-next.21 → 0.1.0-next.22

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 (225) hide show
  1. package/lib/40dc20eab8f7c9f3.ttf +0 -0
  2. package/lib/index.mjs +2 -1
  3. package/lib/index.mjs.LICENSE.txt +1 -0
  4. package/lib/index.mjs.map +1 -1
  5. package/lib/types/WebGPU/canvasSizeObserver.d.ts.map +1 -0
  6. package/lib/types/WebGPU/generatePreview.d.ts +3 -0
  7. package/lib/types/WebGPU/generatePreview.d.ts.map +1 -0
  8. package/lib/types/WebGPU/getDevice.d.ts +6 -0
  9. package/lib/types/WebGPU/getDevice.d.ts.map +1 -0
  10. package/lib/types/WebGPU/getTexture/createCheckedImageData.d.ts.map +1 -0
  11. package/lib/types/WebGPU/getTexture/generateMimapsArray.d.ts.map +1 -0
  12. package/lib/types/{src/WebGPU → WebGPU}/getTexture/index.d.ts +3 -3
  13. package/lib/types/WebGPU/getTexture/index.d.ts.map +1 -0
  14. package/lib/types/WebGPU/m3.d.ts.map +1 -0
  15. package/lib/types/{src/WebGPU → WebGPU}/pick.d.ts +1 -2
  16. package/lib/types/WebGPU/pick.d.ts.map +1 -0
  17. package/lib/types/WebGPU/programs/blur/getProgram.d.ts +2 -0
  18. package/lib/types/WebGPU/programs/blur/getProgram.d.ts.map +1 -0
  19. package/lib/types/WebGPU/programs/clearComputeDepth/getProgram.d.ts +2 -0
  20. package/lib/types/WebGPU/programs/clearComputeDepth/getProgram.d.ts.map +1 -0
  21. package/lib/types/WebGPU/programs/clearSdf/getProgram.d.ts +2 -0
  22. package/lib/types/WebGPU/programs/clearSdf/getProgram.d.ts.map +1 -0
  23. package/lib/types/WebGPU/programs/combineSdf/getProgram.d.ts +2 -0
  24. package/lib/types/WebGPU/programs/combineSdf/getProgram.d.ts.map +1 -0
  25. package/lib/types/WebGPU/programs/computeShape/getProgram.d.ts +2 -0
  26. package/lib/types/WebGPU/programs/computeShape/getProgram.d.ts.map +1 -0
  27. package/lib/types/WebGPU/programs/drawShape/getProgram.d.ts +2 -0
  28. package/lib/types/WebGPU/programs/drawShape/getProgram.d.ts.map +1 -0
  29. package/lib/types/WebGPU/programs/drawTexture/getProgram.d.ts +2 -0
  30. package/lib/types/WebGPU/programs/drawTexture/getProgram.d.ts.map +1 -0
  31. package/lib/types/WebGPU/programs/drawTriangle/getProgram.d.ts +2 -0
  32. package/lib/types/WebGPU/programs/drawTriangle/getProgram.d.ts.map +1 -0
  33. package/lib/types/WebGPU/programs/initPrograms.d.ts +32 -0
  34. package/lib/types/WebGPU/programs/initPrograms.d.ts.map +1 -0
  35. package/lib/types/WebGPU/programs/pickShape/getProgram.d.ts +2 -0
  36. package/lib/types/WebGPU/programs/pickShape/getProgram.d.ts.map +1 -0
  37. package/lib/types/{src/WebGPU → WebGPU}/programs/pickTexture/getProgram.d.ts +1 -1
  38. package/lib/types/WebGPU/programs/pickTexture/getProgram.d.ts.map +1 -0
  39. package/lib/types/{src/WebGPU → WebGPU}/programs/pickTriangle/getProgram.d.ts +1 -1
  40. package/lib/types/WebGPU/programs/pickTriangle/getProgram.d.ts.map +1 -0
  41. package/lib/types/WebGPU/textureCache.d.ts +3 -0
  42. package/lib/types/WebGPU/textureCache.d.ts.map +1 -0
  43. package/lib/types/consts.d.ts.map +1 -0
  44. package/lib/types/fonts.d.ts +5 -0
  45. package/lib/types/fonts.d.ts.map +1 -0
  46. package/lib/types/getCanvasMatrix.d.ts.map +1 -0
  47. package/lib/types/getCanvasRenderDescriptor.d.ts.map +1 -0
  48. package/lib/types/getDepthTexture.d.ts.map +1 -0
  49. package/lib/types/getMultisampleTexture.d.ts +2 -0
  50. package/lib/types/getMultisampleTexture.d.ts.map +1 -0
  51. package/lib/types/getRenderDescriptor.d.ts.map +1 -0
  52. package/lib/types/index.d.ts +61 -0
  53. package/lib/types/index.d.ts.map +1 -0
  54. package/lib/types/loadingTexture.d.ts +2 -0
  55. package/lib/types/loadingTexture.d.ts.map +1 -0
  56. package/lib/types/pointer.d.ts.map +1 -0
  57. package/lib/types/{src/run.d.ts → run.d.ts} +1 -1
  58. package/lib/types/run.d.ts.map +1 -0
  59. package/lib/types/sanitizeFill.d.ts +2 -0
  60. package/lib/types/sanitizeFill.d.ts.map +1 -0
  61. package/lib/types/svgToShapes/arcToBezier.d.ts +11 -0
  62. package/lib/types/svgToShapes/arcToBezier.d.ts.map +1 -0
  63. package/lib/types/svgToShapes/boundingBox.d.ts +17 -0
  64. package/lib/types/svgToShapes/boundingBox.d.ts.map +1 -0
  65. package/lib/types/svgToShapes/collectShapesData.d.ts +10 -0
  66. package/lib/types/svgToShapes/collectShapesData.d.ts.map +1 -0
  67. package/lib/types/svgToShapes/const.d.ts.map +1 -0
  68. package/lib/types/svgToShapes/createShapes.d.ts +3 -0
  69. package/lib/types/svgToShapes/createShapes.d.ts.map +1 -0
  70. package/lib/types/svgToShapes/definitions.d.ts +43 -0
  71. package/lib/types/svgToShapes/definitions.d.ts.map +1 -0
  72. package/lib/types/svgToShapes/getProps.d.ts +4 -0
  73. package/lib/types/svgToShapes/getProps.d.ts.map +1 -0
  74. package/lib/types/svgToShapes/parseEllipse.d.ts +2 -0
  75. package/lib/types/svgToShapes/parseEllipse.d.ts.map +1 -0
  76. package/lib/types/svgToShapes/parsePathData.d.ts +2 -0
  77. package/lib/types/svgToShapes/parsePathData.d.ts.map +1 -0
  78. package/lib/types/svgToShapes/parseRect.d.ts +2 -0
  79. package/lib/types/svgToShapes/parseRect.d.ts.map +1 -0
  80. package/lib/types/svgToShapes/radialGradient.d.ts +15 -0
  81. package/lib/types/svgToShapes/radialGradient.d.ts.map +1 -0
  82. package/lib/types/svgToShapes/utils.d.ts +9 -0
  83. package/lib/types/svgToShapes/utils.d.ts.map +1 -0
  84. package/lib/types/textures.d.ts +21 -0
  85. package/lib/types/textures.d.ts.map +1 -0
  86. package/lib/types/types.d.ts.map +1 -0
  87. package/lib/types/typing.d.ts +6 -0
  88. package/lib/types/typing.d.ts.map +1 -0
  89. package/lib/types/utils/atNormIndex.d.ts.map +1 -0
  90. package/lib/types/utils/captureCanvasStream.d.ts.map +1 -0
  91. package/lib/types/utils/captureCanvasStreamWasm.d.ts.map +1 -0
  92. package/lib/types/utils/clamp.d.ts.map +1 -0
  93. package/lib/types/utils/debounce.d.ts.map +1 -0
  94. package/lib/types/utils/distancePointToLine.d.ts.map +1 -0
  95. package/lib/types/utils/fitCurve.d.ts.map +1 -0
  96. package/lib/types/utils/getAngle.d.ts.map +1 -0
  97. package/lib/types/utils/getAngleDiff.d.ts.map +1 -0
  98. package/lib/types/utils/getBezierPos.d.ts.map +1 -0
  99. package/lib/types/utils/getBezierTan.d.ts.map +1 -0
  100. package/lib/types/utils/getCurveLength.d.ts.map +1 -0
  101. package/lib/types/utils/getDefaultPoints.d.ts.map +1 -0
  102. package/lib/types/utils/getDistance.d.ts.map +1 -0
  103. package/lib/types/utils/mat4.d.ts.map +1 -0
  104. package/lib/types/utils/normalizeVec2.d.ts.map +1 -0
  105. package/lib/types/utils/resizeArray.d.ts.map +1 -0
  106. package/lib/types/utils/vec3.d.ts.map +1 -0
  107. package/package.json +6 -8
  108. package/lib/e9072ac5eb734c67.png +0 -0
  109. package/lib/types/src/WebGPU/canvasSizeObserver.d.ts.map +0 -1
  110. package/lib/types/src/WebGPU/generatePreview.d.ts +0 -2
  111. package/lib/types/src/WebGPU/generatePreview.d.ts.map +0 -1
  112. package/lib/types/src/WebGPU/getDevice.d.ts +0 -2
  113. package/lib/types/src/WebGPU/getDevice.d.ts.map +0 -1
  114. package/lib/types/src/WebGPU/getTexture/createCheckedImageData.d.ts.map +0 -1
  115. package/lib/types/src/WebGPU/getTexture/generateMimapsArray.d.ts.map +0 -1
  116. package/lib/types/src/WebGPU/getTexture/index.d.ts.map +0 -1
  117. package/lib/types/src/WebGPU/m3.d.ts.map +0 -1
  118. package/lib/types/src/WebGPU/pick.d.ts.map +0 -1
  119. package/lib/types/src/WebGPU/pointer.d.ts.map +0 -1
  120. package/lib/types/src/WebGPU/programs/blur/getProgram.d.ts +0 -2
  121. package/lib/types/src/WebGPU/programs/blur/getProgram.d.ts.map +0 -1
  122. package/lib/types/src/WebGPU/programs/draw/getProgram.d.ts +0 -2
  123. package/lib/types/src/WebGPU/programs/draw/getProgram.d.ts.map +0 -1
  124. package/lib/types/src/WebGPU/programs/draw3dModel/getProgram.d.ts +0 -2
  125. package/lib/types/src/WebGPU/programs/draw3dModel/getProgram.d.ts.map +0 -1
  126. package/lib/types/src/WebGPU/programs/draw3dModelLight/getProgram.d.ts +0 -9
  127. package/lib/types/src/WebGPU/programs/draw3dModelLight/getProgram.d.ts.map +0 -1
  128. package/lib/types/src/WebGPU/programs/draw3dModelTexture/getProgram.d.ts +0 -2
  129. package/lib/types/src/WebGPU/programs/draw3dModelTexture/getProgram.d.ts.map +0 -1
  130. package/lib/types/src/WebGPU/programs/drawBezier/getProgram.d.ts +0 -2
  131. package/lib/types/src/WebGPU/programs/drawBezier/getProgram.d.ts.map +0 -1
  132. package/lib/types/src/WebGPU/programs/drawMSDF/getProgram.d.ts +0 -2
  133. package/lib/types/src/WebGPU/programs/drawMSDF/getProgram.d.ts.map +0 -1
  134. package/lib/types/src/WebGPU/programs/drawShape/getProgram.d.ts +0 -2
  135. package/lib/types/src/WebGPU/programs/drawShape/getProgram.d.ts.map +0 -1
  136. package/lib/types/src/WebGPU/programs/drawTexture/getProgram.d.ts +0 -2
  137. package/lib/types/src/WebGPU/programs/drawTexture/getProgram.d.ts.map +0 -1
  138. package/lib/types/src/WebGPU/programs/drawTriangle/getProgram.d.ts +0 -2
  139. package/lib/types/src/WebGPU/programs/drawTriangle/getProgram.d.ts.map +0 -1
  140. package/lib/types/src/WebGPU/programs/initPrograms.d.ts +0 -26
  141. package/lib/types/src/WebGPU/programs/initPrograms.d.ts.map +0 -1
  142. package/lib/types/src/WebGPU/programs/pickTexture/getProgram.d.ts.map +0 -1
  143. package/lib/types/src/WebGPU/programs/pickTriangle/getProgram.d.ts.map +0 -1
  144. package/lib/types/src/WebGPU/textureCache.d.ts +0 -3
  145. package/lib/types/src/WebGPU/textureCache.d.ts.map +0 -1
  146. package/lib/types/src/__test__/index.test.d.ts +0 -1
  147. package/lib/types/src/__test__/index.test.d.ts.map +0 -1
  148. package/lib/types/src/consts.d.ts.map +0 -1
  149. package/lib/types/src/getCanvasMatrix.d.ts.map +0 -1
  150. package/lib/types/src/getCanvasRenderDescriptor.d.ts.map +0 -1
  151. package/lib/types/src/getDepthTexture.d.ts.map +0 -1
  152. package/lib/types/src/getMultisampleTexture.d.ts +0 -2
  153. package/lib/types/src/getMultisampleTexture.d.ts.map +0 -1
  154. package/lib/types/src/getRenderDescriptor.d.ts.map +0 -1
  155. package/lib/types/src/index.d.ts +0 -25
  156. package/lib/types/src/index.d.ts.map +0 -1
  157. package/lib/types/src/loadingTexture.d.ts +0 -2
  158. package/lib/types/src/loadingTexture.d.ts.map +0 -1
  159. package/lib/types/src/models/Video/MiniatureVideo.d.ts +0 -30
  160. package/lib/types/src/models/Video/MiniatureVideo.d.ts.map +0 -1
  161. package/lib/types/src/run.d.ts.map +0 -1
  162. package/lib/types/src/shapes/const.d.ts.map +0 -1
  163. package/lib/types/src/shapes/createShape.d.ts +0 -3
  164. package/lib/types/src/shapes/createShape.d.ts.map +0 -1
  165. package/lib/types/src/shapes/parseColor.d.ts +0 -2
  166. package/lib/types/src/shapes/parseColor.d.ts.map +0 -1
  167. package/lib/types/src/shapes/parseEllipse.d.ts +0 -3
  168. package/lib/types/src/shapes/parseEllipse.d.ts.map +0 -1
  169. package/lib/types/src/shapes/parsePathData.d.ts +0 -3
  170. package/lib/types/src/shapes/parsePathData.d.ts.map +0 -1
  171. package/lib/types/src/shapes/parseRect.d.ts +0 -3
  172. package/lib/types/src/shapes/parseRect.d.ts.map +0 -1
  173. package/lib/types/src/shapes/types.d.ts +0 -4
  174. package/lib/types/src/shapes/types.d.ts.map +0 -1
  175. package/lib/types/src/textures.d.ts +0 -13
  176. package/lib/types/src/textures.d.ts.map +0 -1
  177. package/lib/types/src/types.d.ts.map +0 -1
  178. package/lib/types/src/utils/atNormIndex.d.ts.map +0 -1
  179. package/lib/types/src/utils/captureCanvasStream.d.ts.map +0 -1
  180. package/lib/types/src/utils/captureCanvasStreamWasm.d.ts.map +0 -1
  181. package/lib/types/src/utils/clamp.d.ts.map +0 -1
  182. package/lib/types/src/utils/debounce.d.ts.map +0 -1
  183. package/lib/types/src/utils/distancePointToLine.d.ts.map +0 -1
  184. package/lib/types/src/utils/fitCurve.d.ts.map +0 -1
  185. package/lib/types/src/utils/getAngle.d.ts.map +0 -1
  186. package/lib/types/src/utils/getAngleDiff.d.ts.map +0 -1
  187. package/lib/types/src/utils/getBezierPos.d.ts.map +0 -1
  188. package/lib/types/src/utils/getBezierTan.d.ts.map +0 -1
  189. package/lib/types/src/utils/getCurveLength.d.ts.map +0 -1
  190. package/lib/types/src/utils/getDefaultPoints.d.ts.map +0 -1
  191. package/lib/types/src/utils/getDistance.d.ts.map +0 -1
  192. package/lib/types/src/utils/mat4.d.ts.map +0 -1
  193. package/lib/types/src/utils/normalizeVec2.d.ts.map +0 -1
  194. package/lib/types/src/utils/resizeArray.d.ts.map +0 -1
  195. package/lib/types/src/utils/vec3.d.ts.map +0 -1
  196. /package/lib/types/{src/WebGPU → WebGPU}/canvasSizeObserver.d.ts +0 -0
  197. /package/lib/types/{src/WebGPU → WebGPU}/getTexture/createCheckedImageData.d.ts +0 -0
  198. /package/lib/types/{src/WebGPU → WebGPU}/getTexture/generateMimapsArray.d.ts +0 -0
  199. /package/lib/types/{src/WebGPU → WebGPU}/m3.d.ts +0 -0
  200. /package/lib/types/{src/consts.d.ts → consts.d.ts} +0 -0
  201. /package/lib/types/{src/getCanvasMatrix.d.ts → getCanvasMatrix.d.ts} +0 -0
  202. /package/lib/types/{src/getCanvasRenderDescriptor.d.ts → getCanvasRenderDescriptor.d.ts} +0 -0
  203. /package/lib/types/{src/getDepthTexture.d.ts → getDepthTexture.d.ts} +0 -0
  204. /package/lib/types/{src/getRenderDescriptor.d.ts → getRenderDescriptor.d.ts} +0 -0
  205. /package/lib/types/{src/WebGPU/pointer.d.ts → pointer.d.ts} +0 -0
  206. /package/lib/types/{src/shapes → svgToShapes}/const.d.ts +0 -0
  207. /package/lib/types/{src/types.d.ts → types.d.ts} +0 -0
  208. /package/lib/types/{src/utils → utils}/atNormIndex.d.ts +0 -0
  209. /package/lib/types/{src/utils → utils}/captureCanvasStream.d.ts +0 -0
  210. /package/lib/types/{src/utils → utils}/captureCanvasStreamWasm.d.ts +0 -0
  211. /package/lib/types/{src/utils → utils}/clamp.d.ts +0 -0
  212. /package/lib/types/{src/utils → utils}/debounce.d.ts +0 -0
  213. /package/lib/types/{src/utils → utils}/distancePointToLine.d.ts +0 -0
  214. /package/lib/types/{src/utils → utils}/fitCurve.d.ts +0 -0
  215. /package/lib/types/{src/utils → utils}/getAngle.d.ts +0 -0
  216. /package/lib/types/{src/utils → utils}/getAngleDiff.d.ts +0 -0
  217. /package/lib/types/{src/utils → utils}/getBezierPos.d.ts +0 -0
  218. /package/lib/types/{src/utils → utils}/getBezierTan.d.ts +0 -0
  219. /package/lib/types/{src/utils → utils}/getCurveLength.d.ts +0 -0
  220. /package/lib/types/{src/utils → utils}/getDefaultPoints.d.ts +0 -0
  221. /package/lib/types/{src/utils → utils}/getDistance.d.ts +0 -0
  222. /package/lib/types/{src/utils → utils}/mat4.d.ts +0 -0
  223. /package/lib/types/{src/utils → utils}/normalizeVec2.d.ts +0 -0
  224. /package/lib/types/{src/utils → utils}/resizeArray.d.ts +0 -0
  225. /package/lib/types/{src/utils → utils}/vec3.d.ts +0 -0
package/lib/index.mjs CHANGED
@@ -1,2 +1,3 @@
1
- var A,e,t,i,n={4637:(A,e,t)=>{t.d(e,{q:()=>s});var i=/[a-zA-Z0-9:_-]/,n=/[\s\t\r\n]/,r=/['"]/;function s(A){var e="",t=[],s=I,a=null,g=null;function o(e){var t=function(A,e,t){return function(A,e){void 0===e&&(e={});var t=e.offsetLine||0,i=e.offsetColumn||0,n=A.split("\n"),r=0,s=n.map((function(A,e){var t=r+A.length+1,i={start:r,end:t,line:e};return r=t,i})),a=0;function g(A,e){return A.start<=e&&e<A.end}function o(A,e){return{line:t+A.line,column:i+e-A.start,character:e}}return function(e,t){"string"==typeof e&&(e=A.indexOf(e,t||0));for(var i=s[a],n=e>=i.end?1:-1;i;){if(g(i,e))return o(i,e);i=s[a+=n]}}}(A,t)(e,t)}(A,y),i=t.line,n=t.column,r=A.slice(0,y),s=/(^|\n).*$/.exec(r)[0].replace(/\t/g," "),a=A.slice(y),g=""+s+/.*(\n|$)/.exec(a)[0]+"\n"+function(A,e){for(var t="";e--;)t+=" ";return t}(0,s.length)+"^";throw new Error(e+" ("+i+":"+n+"). If this is valid SVG, it's probably a bug in svg-parser. Please raise an issue at https://github.com/Rich-Harris/svg-parser/issues – thanks!\n\n"+g)}function I(){for(;y<A.length&&"<"!==A[y]||!i.test(A[y+1]);)e+=A[y++];return c()}function c(){for(var e="";y<A.length&&"<"!==A[y];)e+=A[y++];return/\S/.test(e)&&a.children.push({type:"text",value:e}),"<"===A[y]?Q:c}function Q(){var e=A[y];if("?"===e)return c;if("!"===e){if("--"===A.slice(y+1,y+3))return l;if("[CDATA["===A.slice(y+1,y+8))return C;if(/doctype/i.test(A.slice(y+1,y+8)))return c}if("/"===e)return B;var i,n={type:"element",tagName:u(),properties:{},children:[]};for(a?a.children.push(n):g=n;y<A.length&&(i=E());)n.properties[i.name]=i.value;var r=!1;return"/"===A[y]&&(y+=1,r=!0),">"!==A[y]&&o("Expected >"),r||(a=n,t.push(n)),c}function l(){var e=A.indexOf("--\x3e",y);return~e||o("expected --\x3e"),y=e+2,c}function C(){var e=A.indexOf("]]>",y);return~e||o("expected ]]>"),a.children.push(A.slice(y+7,e)),y=e+2,c}function B(){var e=u();return e||o("Expected tag name"),e!==a.tagName&&o("Expected closing tag </"+e+"> to match opening tag <"+a.tagName+">"),f(),">"!==A[y]&&o("Expected >"),t.pop(),a=t[t.length-1],c}function u(){for(var e="";y<A.length&&i.test(A[y]);)e+=A[y++];return e}function E(){if(!n.test(A[y]))return null;f();var e=u();if(!e)return null;var t=!0;return f(),"="===A[y]&&(y+=1,f(),t=r.test(A[y])?function(){for(var e=A[y++],t="",i=!1;y<A.length;){var n=A[y++];if(n===e&&!i)return t;"\\"!==n||i||(i=!0),t+=i?"\\"+n:n,i=!1}}():function(){var e="";do{var t=A[y];if(" "===t||">"===t||"/"===t)return e;e+=t,y+=1}while(y<A.length);return e}(),isNaN(t)||""===t.trim()||(t=+t)),{name:e,value:t}}function f(){for(;y<A.length&&n.test(A[y]);)y+=1}for(var y=I.length;y<A.length;)s||o("Unexpected character"),s=s(),y+=1;return s!==c&&o("Unexpected end of input"),"svg"===g.tagName&&(g.metadata=e),{type:"root",children:[g]}}},214:(A,e,t)=>{function i(A,e,t,i){A.width=Math.max(1,Math.min(e,i.limits.maxTextureDimension2D)),A.height=Math.max(1,Math.min(t,i.limits.maxTextureDimension2D))}function n(A,e,t){const n=new ResizeObserver((A=>{var n,r,s,a;for(const g of A)i(g.target,null!==(r=null===(n=g.devicePixelContentBoxSize)||void 0===n?void 0:n[0].inlineSize)&&void 0!==r?r:g.contentBoxSize[0].inlineSize*devicePixelRatio,null!==(a=null===(s=g.devicePixelContentBoxSize)||void 0===s?void 0:s[0].blockSize)&&void 0!==a?a:g.contentBoxSize[0].blockSize*devicePixelRatio,e),t()}));try{n.observe(A,{box:"device-pixel-content-box"})}catch(e){n.observe(A,{box:"content-box"})}i(A,A.clientWidth,A.clientHeight,e)}t.d(e,{A:()=>n})},7608:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{A:()=>g});var n=t(9200),r=t(1559),s=A([n,r]);[n,r]=s.then?(await s)():s;var a=function(A,e,t,i){return new(t||(t=Promise))((function(n,r){function s(A){try{g(i.next(A))}catch(A){r(A)}}function a(A){try{g(i.throw(A))}catch(A){r(A)}}function g(A){var e;A.done?n(A.value):(e=A.value,e instanceof t?e:new t((function(A){A(e)}))).then(s,a)}g((i=i.apply(A,e||[])).next())}))};function g(A,e,t,i,s,g,o){return a(this,void 0,void 0,(function*(){const a=Math.min(i,s),I=document.createElement("canvas");I.width=a,I.height=a;const c=I.getContext("webgpu");c.configure({device:A,format:e});const Q=Object.assign({},n.UI),l=I.width/I.clientWidth;n.UI.x=(I.width-i)/2,n.UI.y=(I.height-s)/2,n.UI.zoom=1,r.Ay.update_render_scale(l),g(I,c).then((()=>{o(I),c.unconfigure(),n.UI.x=Q.x,n.UI.y=Q.y,n.UI.zoom=Q.zoom,r.Ay.update_render_scale(t.width/(t.clientWidth*n.UI.zoom))}))}))}i()}catch(o){i(o)}}))},1911:(A,e,t)=>{t.d(e,{A:()=>n});var i=function(A,e,t,i){return new(t||(t=Promise))((function(n,r){function s(A){try{g(i.next(A))}catch(A){r(A)}}function a(A){try{g(i.throw(A))}catch(A){r(A)}}function g(A){var e;A.done?n(A.value):(e=A.value,e instanceof t?e:new t((function(A){A(e)}))).then(s,a)}g((i=i.apply(A,e||[])).next())}))};function n(){return i(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 e=yield A.requestDevice();return e.lost.then((A=>{console.error(`WebGPU device was lost: ${A.message}`),A.reason})),e}))}},1549:(A,e,t)=>{t.d(e,{Be:()=>n});const i=(...A)=>{const e=Math.max(...A);return 1+Math.log2(e)|0};function n(A,e,t={}){const n=A.createTexture({format:"rgba8unorm",mipLevelCount:t.mips?i(e.width,e.height):1,size:[e.width,e.height],usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT});return function(A,e,t,{flipY:i,depthOrArrayLayers:n}={}){A.queue.copyExternalImageToTexture({source:t,flipY:i},{texture:e},{width:t.width,height:t.height,depthOrArrayLayers:n})}(A,n,e,t),n}},2872:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{A:()=>o});var n=t(2842),r=t(9200),s=t(1559),a=A([r,s]);[r,s]=a.then?(await a)():a;const g=1;class o{constructor(A){this.isPreviousPickDone=!0,this.pickBuffer=A.createBuffer({size:4*g,usage:GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST}),this.pickTexture=A.createTexture({size:[1,1],format:"r32uint",usage:GPUTextureUsage.COPY_SRC|GPUTextureUsage.RENDER_ATTACHMENT}),this.pickDepthTexture=A.createTexture({size:[1,1],format:"depth24plus",usage:GPUTextureUsage.RENDER_ATTACHMENT})}startPicking(A){const e={label:"our render to canvas renderPass",colorAttachments:[{view:this.pickTexture.createView(),loadOp:"clear",clearValue:[0,0,0,1],storeOp:"store"}]},t=A.beginRenderPass(e);return t.setViewport(0,0,1,1,0,1),t.setScissorRect(0,0,1,1),{pass:t,end:()=>{t.end(),this.isPreviousPickDone&&A.copyTextureToBuffer({texture:this.pickTexture,origin:{x:0,y:0}},{buffer:this.pickBuffer},{width:g})}}}createMatrix(A,e){const t=-(r.Wn.x/A.width*2-1),i=r.Wn.y/A.height*2-1;return[n.A.scaling([A.width,A.height,0]),n.A.translation([t,i,0]),e].reduce(((A,e)=>n.A.multiply(A,e)),n.A.translation([-1,1,0]))}asyncPick(){return A=this,e=void 0,i=function*(){if(this.isPreviousPickDone){this.isPreviousPickDone=!1;try{yield this.pickBuffer.mapAsync(GPUMapMode.READ,0,4*g);const[A]=new Uint32Array(this.pickBuffer.getMappedRange(0,4*g));(0,s.OI)(A);let e=0;for(;e<r.Wn.afterPickEventsQueue.length;){const{requireNewPick:A,cb:t}=r.Wn.afterPickEventsQueue[e];if(A&&e>0)break;t(),e++}r.Wn.afterPickEventsQueue.splice(0,e),this.pickBuffer.unmap()}catch(A){}this.isPreviousPickDone=!0}},new((t=void 0)||(t=Promise))((function(n,r){function s(A){try{g(i.next(A))}catch(A){r(A)}}function a(A){try{g(i.throw(A))}catch(A){r(A)}}function g(A){var e;A.done?n(A.value):(e=A.value,e instanceof t?e:new t((function(A){A(e)}))).then(s,a)}g((i=i.apply(A,e||[])).next())}));var A,e,t,i}}i()}catch(A){i(A)}}))},9200:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{Ay:()=>l,UI:()=>c,Wn:()=>Q});var n=t(1559),r=t(6253),s=A([n]);n=(s.then?(await s)():s)[0];const g=-1;var a;!function(A){A[A.Pan=0]="Pan",A[A.Zoom=1]="Zoom",A[A.None=2]="None"}(a||(a={}));let o=a.None,I=null;const c={x:0,y:0,zoom:1},Q={x:0,y:0,afterPickEventsQueue:[]};function l(A,e,t){function i(){return[(Q.x-c.x)/c.zoom,(A.height-Q.y-c.y)/c.zoom]}function s(e){const t=A.getBoundingClientRect(),i=A.width/t.width;Q.x=(e.clientX-t.left)*i,Q.y=(e.clientY-t.top)*i}function l(t,i,n){const s=c.zoom;c.zoom=(0,r.A)(c.zoom+t,.1,20),e();const a=c.zoom/s;c.x=i-(i-c.x)*a;const g=A.height-n;c.y=g-(g-c.y)*a}function C(t){const i=c.zoom;c.zoom=(0,r.A)(c.zoom-.005*t,.1,20),e();const n=c.zoom/i;c.x=Q.x-(Q.x-c.x)*n;const s=A.height-Q.y;c.y=s-(s-c.y)*n}Q.x=g,Q.y=g,A.addEventListener("mouseleave",(()=>{t(),A.style.cursor="default";const e=()=>{Q.x=g,Q.y=g,n.c2()};Q.afterPickEventsQueue.length>0?Q.afterPickEventsQueue.push({requireNewPick:!1,cb:e}):e()})),A.addEventListener("mousemove",(A=>{if(I)return s(A),c.x=Q.x-I.x,void(c.y=-(Q.y-I.y));t();const e=()=>{s(A),n.wU(...i())};Q.afterPickEventsQueue.length>0?Q.afterPickEventsQueue.push({requireNewPick:!1,cb:e}):e()})),A.addEventListener("mousedown",(e=>{if(o===a.Pan)return s(e),I={x:Q.x-c.x,y:Q.y+c.y},void(A.style.cursor="grabbing");I=null,t(),s(e),Q.afterPickEventsQueue.push({requireNewPick:!0,cb:n.Dk.bind(null,...i())})})),A.addEventListener("mouseup",(()=>{o=a.None,I=null,A.style.cursor="default",t(),Q.afterPickEventsQueue.length>0?Q.afterPickEventsQueue.push({requireNewPick:!1,cb:n._R}):n._R()})),A.addEventListener("wheel",(A=>{s(A),A.preventDefault(),o===a.Zoom?C(Math.abs(A.deltaY)>Math.abs(A.deltaX)?A.deltaY:-A.deltaX):A.ctrlKey?C(A.deltaY*c.zoom):(c.x-=A.deltaX,c.y+=A.deltaY)})),document.body.addEventListener("keydown",(e=>{switch(e.code){case"Space":e.preventDefault(),o!==a.Pan&&(A.style.cursor="grab",o=a.Pan);break;case"AltLeft":case"AltRight":e.preventDefault(),o=a.Zoom;break;case"Escape":e.preventDefault(),n.o6();break;case"=":case"+":(e.ctrlKey||e.metaKey)&&(e.preventDefault(),l(.1,Q.x!==g?Q.x:A.width/2,Q.y!==g?Q.y:A.height/2));break;case"-":case"_":(e.ctrlKey||e.metaKey||e.shiftKey)&&(e.preventDefault(),l(-.1,Q.x!==g?Q.x:A.width/2,Q.y!==g?Q.y:A.height/2))}})),document.body.addEventListener("keyup",(e=>{"Space"!==e.code&&"Alt"!==e.key||(o=a.None),"Space"===e.code&&null===I&&(A.style.cursor="default")}))}i()}catch(C){i(C)}}))},7829:(A,e,t)=>{t.d(e,{Sp:()=>G,Ay:()=>F,hk:()=>k,KG:()=>x,_J:()=>D,D4:()=>m,R9:()=>M,Fh:()=>v,Q3:()=>z});const i="const PI = 3.14159265358979323846;\nconst EPSILON = 1.1920929e-7;\n\nstruct Vertex {\n @location(0) p0: vec4f, //xy -> corner position, zw -> circle position\n @location(1) p1: vec4f,\n @location(2) p2: vec4f,\n @location(3) color: vec4f,\n @location(4) radius_list: vec3f,\n};\n\nstruct Uniforms {\n worldViewProjection: mat4x4f,\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) @interpolate(flat) p0: vec4f,\n @location(1) @interpolate(flat) p1: vec4f,\n @location(2) @interpolate(flat) p2: vec4f,\n @location(3) @interpolate(flat) color: vec4f,\n @location(4) pixel: vec2f,\n @location(5) @interpolate(flat) radius_list: vec3f,\n @location(6) @interpolate(flat) threshold_list: vec3f,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n\nfn threshold_pythagorean_leg(corner: vec4f, radius: f32) -> f32 {\n let p_circle_dist = distance(corner.xy, corner.zw);\n // Pythagorean theorem, finding one leg of a right triangle when you know the hypotenuse and the other leg.\n return sqrt(p_circle_dist * p_circle_dist - radius * radius);\n}\n\n@vertex fn vs(\n vert: Vertex,\n @builtin(vertex_index) vertex_index : u32\n) -> VertexOutput {\n var out: VertexOutput;\n\n let positions = array<vec2f, 3>(vert.p0.xy, vert.p1.xy, vert.p2.xy);\n out.position = vec4f(positions[vertex_index], 0, 1);\n\n out.pixel = vec2f(out.position.x, out.position.y);\n\n out.position = u.worldViewProjection * out.position;\n\n out.p0 = vert.p0;\n out.p1 = vert.p1;\n out.p2 = vert.p2;\n out.color = vert.color;\n\n out.radius_list = vert.radius_list;\n\n out.threshold_list = vec3f(\n threshold_pythagorean_leg(vert.p0, vert.radius_list.x),\n threshold_pythagorean_leg(vert.p1, vert.radius_list.y),\n threshold_pythagorean_leg(vert.p2, vert.radius_list.z),\n ); // behind this value is a rounded corner\n\n return out;\n}\n\n@fragment fn fs(in: VertexOutput) -> @location(0) vec4f {\n let p0_circle_dist = distance(in.p0.xy, in.pixel) - in.threshold_list.x;\n let p1_circle_dist = distance(in.p1.xy, in.pixel) - in.threshold_list.y;\n let p2_circle_dist = distance(in.p2.xy, in.pixel) - in.threshold_list.z;\n \n let min_circle_dist = min(\n p0_circle_dist,\n min(p1_circle_dist, p2_circle_dist)\n );\n\n var p: vec2f; // closest corner\n var p_circle: vec2f; // closest corner's circle position\n var radius: f32;\n var threshold: f32;\n\n if (abs(min_circle_dist - p0_circle_dist) <= EPSILON) {\n p = in.p0.xy;\n p_circle = in.p0.zw;\n radius = in.radius_list.x;\n threshold = in.threshold_list.x;\n } else if (abs(min_circle_dist - p1_circle_dist) <= EPSILON) {\n p = in.p1.xy;\n p_circle = in.p1.zw;\n radius = in.radius_list.y;\n threshold = in.threshold_list.y;\n } else {\n p = in.p2.xy;\n p_circle = in.p2.zw;\n radius = in.radius_list.z;\n threshold = in.threshold_list.z;\n }\n\n\n let circle_distance = distance(p_circle, in.pixel);\n let edge_width = fwidth(circle_distance);\n\n let circle_alpha = 1.0 - smoothstep(radius - edge_width, radius + edge_width, circle_distance);\n let dist = distance(p, in.pixel);\n let alpha = mix(circle_alpha, 1.0, step(threshold, dist)); // if threshold <= dist, use circle alpha, otherwise use 1.0\n\n return in.color * alpha;\n}\n",n=16,r="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",s="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",a="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",g="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",o="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",I=128,c=[4,4],Q="struct Vertex {\n @location(0) position: vec4f,\n};\n\nstruct Uniforms {\n cameraProjection: 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.cameraProjection * vec4f(vert.position.xy, 0, 1);\n out.texCoord = vert.position.zw;\n \n return out;\n}\n\n@fragment fn fs(in: VertexOutput) -> @location(0) vec4f {\n return textureSample(ourTexture, ourSampler, in.texCoord);\n}\n",l=4,C="struct Vertex {\n @location(0) position: vec4f,\n @location(1) id: u32,\n};\n\nstruct Uniforms {\n worldViewProjection: mat4x4f\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) texCoord: vec2f,\n @location(1) @interpolate(flat) id: u32\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\n out.position = u.worldViewProjection * vec4f(vert.position.xy, 0.0, 1.0);\n out.texCoord = vert.position.zw;\n out.id = vert.id;\n\n return out;\n}\n\n\n@fragment fn fs(in: VertexOutput) -> @location(0) u32 {\n let alpha = textureSample(ourTexture, ourSampler, in.texCoord).a;\n\n if (alpha < 0.1) {\n discard; // r32uint doesn't support blending so only skipping pixels lefts\n }\n\n return in.id;\n}\n",B=5,u="const PI = 3.14159265358979323846;\nconst EPSILON = 1.1920929e-7;\n\nstruct Vertex {\n @location(0) p0: vec4f, //xy -> corner position, zw -> circle position\n @location(1) p1: vec4f,\n @location(2) p2: vec4f,\n @location(3) id: u32,\n @location(4) radius_list: vec3f,\n};\n\nstruct Uniforms {\n worldViewProjection: mat4x4f,\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) @interpolate(flat) p0: vec4f,\n @location(1) @interpolate(flat) p1: vec4f,\n @location(2) @interpolate(flat) p2: vec4f,\n @location(3) @interpolate(flat) id: u32,\n @location(4) pixel: vec2f,\n @location(5) @interpolate(flat) radius_list: vec3f,\n @location(6) @interpolate(flat) threshold_list: vec3f,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n\nfn threshold_pythagorean_leg(corner: vec4f, radius: f32) -> f32 {\n let p_circle_dist = distance(corner.xy, corner.zw);\n // Pythagorean theorem, finding one leg of a right triangle when you know the hypotenuse and the other leg.\n return sqrt(p_circle_dist * p_circle_dist - radius * radius);\n}\n\n@vertex fn vs(\n vert: Vertex,\n @builtin(vertex_index) vertex_index : u32\n) -> VertexOutput {\n var out: VertexOutput;\n\n let positions = array<vec2f, 3>(vert.p0.xy, vert.p1.xy, vert.p2.xy);\n out.position = vec4f(positions[vertex_index], 0, 1);\n\n out.pixel = vec2f(out.position.x, out.position.y);\n\n out.position = u.worldViewProjection * out.position;\n\n out.p0 = vert.p0;\n out.p1 = vert.p1;\n out.p2 = vert.p2;\n out.id = vert.id;\n\n out.radius_list = vert.radius_list;\n\n out.threshold_list = vec3f(\n threshold_pythagorean_leg(vert.p0, vert.radius_list.x),\n threshold_pythagorean_leg(vert.p1, vert.radius_list.y),\n threshold_pythagorean_leg(vert.p2, vert.radius_list.z),\n ); // behind this value is a ounded corner\n\n return out;\n}\n\n@fragment fn fs(in: VertexOutput) -> @location(0) u32 {\n let p0_circle_dist = distance(in.p0.xy, in.pixel) - in.threshold_list.x;\n let p1_circle_dist = distance(in.p1.xy, in.pixel) - in.threshold_list.y;\n let p2_circle_dist = distance(in.p2.xy, in.pixel) - in.threshold_list.z;\n \n let min_circle_dist = min(\n p0_circle_dist,\n min(p1_circle_dist, p2_circle_dist)\n );\n\n var p: vec2f; // closest corner\n var p_circle: vec2f; // closest corner's circle position\n var radius: f32;\n var threshold: f32;\n\n if (abs(min_circle_dist - p0_circle_dist) <= EPSILON) {\n p = in.p0.xy;\n p_circle = in.p0.zw;\n radius = in.radius_list.x;\n threshold = in.threshold_list.x;\n } else if (abs(min_circle_dist - p1_circle_dist) <= EPSILON) {\n p = in.p1.xy;\n p_circle = in.p1.zw;\n radius = in.radius_list.y;\n threshold = in.threshold_list.y;\n } else {\n p = in.p2.xy;\n p_circle = in.p2.zw;\n radius = in.radius_list.z;\n threshold = in.threshold_list.z;\n }\n\n\n let circle_distance = distance(p_circle, in.pixel);\n let edge_width = fwidth(circle_distance);\n\n let circle_alpha = 1.0 - smoothstep(radius - edge_width, radius + edge_width, circle_distance);\n let dist = distance(p, in.pixel);\n let alpha = mix(circle_alpha, 1.0, step(threshold, dist)); // if threshold <= dist, use circle alpha, otherwise use 1.0\n\n if (alpha < 0.1) {\n discard; // r32uint doesn't support blending so only skipping pixels lefts\n }\n\n return in.id;\n}\n",E=16,f="struct Vertex {\n @location(0) p0: vec4f,\n @location(1) p1: vec4f,\n @location(2) p2: vec4f,\n @location(3) color: vec4f,\n};\n\nstruct Uniforms {\n worldViewProjection: mat4x4f,\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) texCoord: vec2f,\n @location(1) @interpolate(flat) color: vec4f,\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, @builtin(vertex_index) vertex_index : u32) -> VertexOutput {\n let verticies = array<vec4f, 3>(vert.p0, vert.p1, vert.p2);\n let vertex = verticies[vertex_index];\n\n var out: VertexOutput;\n\n out.position = u.worldViewProjection * vec4f(vertex.xy, 0.0, 1.0);\n out.texCoord = vertex.zw;\n\n out.color = vert.color;\n \n return out;\n}\n\nfn median(r: f32, g: f32, b: f32) -> f32 {\n return max(min(r, g), min(max(r, g), b));\n}\n\n@fragment fn fs(in: VertexOutput) -> @location(0) vec4f {\n let msdf = textureSample(ourTexture, ourSampler, in.texCoord);\n let signed_distance = median(msdf.r, msdf.g, msdf.b) - 0.5;\n let w = clamp(signed_distance / fwidth(signed_distance) + 0.5, 0.0, 1.0);\n return in.color * w;\n}",y=13,h="const STRAIGHT_LINE_THRESHOLD = 1e10;\nconst EPSILON = 1e-10;\n\nstruct Uniforms {\n stroke_width: f32,\n fill_color: vec4f,\n stroke_color: vec4f,\n};\n\nstruct CubicBezier {\n p0: vec2f,\n p1: vec2f,\n p2: vec2f,\n p3: vec2f,\n};\n\nstruct Vertex {\n @location(0) position: vec2f,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n@group(0) @binding(1) var<storage, read> curves: array<vec2f>;\n@group(0) @binding(2) var<uniform> camera_projection: mat4x4f;\n\nstruct VSOutput {\n @builtin(position) position: vec4f,\n @location(0) world_pos: vec2f,\n};\n\n@vertex fn vs(vert: Vertex) -> VSOutput {\n\n return VSOutput(\n camera_projection * vec4f(vert.position, 0.0, 1.0),\n vert.position\n );\n}\n\n// Evaluate cubic Bézier at parameter t\nfn bezier_point(curve: CubicBezier, t: f32) -> vec2f {\n let t2 = t * t;\n let t3 = t2 * t;\n let one_minus_t = 1.0 - t;\n let one_minus_t2 = one_minus_t * one_minus_t;\n let one_minus_t3 = one_minus_t2 * one_minus_t;\n \n return curve.p0 * one_minus_t3 + \n 3.0 * curve.p1 * t * one_minus_t2 + \n 3.0 * curve.p2 * t2 * one_minus_t + \n curve.p3 * t3;\n}\n\n// First derivative of cubic Bézier\nfn bezier_derivative(curve: CubicBezier, t: f32) -> vec2f {\n let one_minus_t = 1.0 - t;\n return 3.0 * one_minus_t * one_minus_t * (curve.p1 - curve.p0) +\n 6.0 * t * one_minus_t * (curve.p2 - curve.p1) +\n 3.0 * t * t * (curve.p3 - curve.p2);\n}\n\n// Second derivative of cubic Bézier\nfn bezier_second_derivative(curve: CubicBezier, t: f32) -> vec2f {\n return 6.0 * (1.0 - t) * (curve.p2 - 2.0 * curve.p1 + curve.p0) +\n 6.0 * t * (curve.p3 - 2.0 * curve.p2 + curve.p1);\n}\n\n// Find closest point on cubic Bézier curve to given point using analytical method\nfn closest_point_on_bezier(point: vec2f, curve: CubicBezier) -> f32 {\n // At the closest point, (P(t) - point) ⊥ P'(t)\n // This gives us: dot(P(t) - point, P'(t)) = 0\n // We can solve this quintic equation analytically or use Newton-Raphson\n \n // Start with a good initial guess using the control polygon\n var best_t = initial_guess_closest_point(point, curve);\n // if there is any weird artifact in the middle of the shape, then it's most likely because of initial guess!\n \n // Newton-Raphson to find exact solution\n for (var i = 0; i < 5; i++) {\n let curve_point = bezier_point(curve, best_t);\n let derivative = bezier_derivative(curve, best_t);\n let second_derivative = bezier_second_derivative(curve, best_t);\n \n let diff = curve_point - point;\n \n // f(t) = dot(P(t) - point, P'(t)) = 0\n let f = dot(diff, derivative);\n \n // f'(t) = dot(P'(t), P'(t)) + dot(P(t) - point, P''(t))\n let df = dot(derivative, derivative) + dot(diff, second_derivative);\n \n if (abs(df) < 1e-8) { break; }\n \n var new_t = best_t - f / df;\n \n // Clamp to valid range\n new_t = clamp(new_t, 0.0, 1.0);\n \n if (abs(new_t - best_t) < 1e-8) { break; }\n best_t = new_t;\n }\n \n return best_t;\n}\n\n// Get initial guess for closest point using hierarchical sampling\nfn initial_guess_closest_point(point: vec2f, curve: CubicBezier) -> f32 {\n // Stage 1: Coarse sampling to find approximate region\n var best_t = 0.0;\n var min_dist_sq = 1e10;\n \n let coarse_samples = 16; // More samples for better coverage\n for (var i = 0; i <= coarse_samples; i++) {\n let t = f32(i) / f32(coarse_samples);\n let curve_point = bezier_point(curve, t);\n let dist_sq = dot(curve_point - point, curve_point - point);\n \n if (dist_sq < min_dist_sq) {\n min_dist_sq = dist_sq;\n best_t = t;\n }\n }\n \n // Stage 2: Refine in the neighborhood of the best coarse sample\n let refine_range = 1.0 / f32(coarse_samples); // Search around ±one sample interval\n let t_min = max(0.0, best_t - refine_range);\n let t_max = min(1.0, best_t + refine_range);\n \n let fine_samples = 8;\n for (var i = 0; i <= fine_samples; i++) {\n let t = t_min + (t_max - t_min) * f32(i) / f32(fine_samples);\n let curve_point = bezier_point(curve, t);\n let dist_sq = dot(curve_point - point, curve_point - point);\n \n if (dist_sq < min_dist_sq) {\n min_dist_sq = dist_sq;\n best_t = t;\n }\n }\n \n return best_t;\n}\n\n// Project point onto line segment and return parameter [0,1]\nfn project_point_to_line_segment(point: vec2f, line_start: vec2f, line_end: vec2f) -> f32 {\n let line_vec = line_end - line_start;\n let point_vec = point - line_start;\n \n let line_length_sq = dot(line_vec, line_vec);\n \n if (line_length_sq < 1e-8) {\n return 0.0; // Degenerate line\n }\n \n let t = dot(point_vec, line_vec) / line_length_sq;\n return clamp(t, 0.0, 1.0);\n}\n\n// Calculate distance from point to line segment\nfn distance_to_line_segment(point: vec2f, line_start: vec2f, line_end: vec2f) -> f32 {\n let line_vec = line_end - line_start;\n let point_vec = point - line_start;\n \n let line_length_sq = dot(line_vec, line_vec);\n \n if (line_length_sq < 1e-8) {\n // Degenerate line - distance to start point\n return length(point_vec);\n }\n \n let t = dot(point_vec, line_vec) / line_length_sq;\n \n if (t <= 0.0) {\n // Closest point is the start of the line segment\n return length(point_vec);\n } else if (t >= 1.0) {\n // Closest point is the end of the line segment\n return length(point - line_end);\n } else {\n // Closest point is on the line segment\n let closest_point = line_start + t * line_vec;\n return length(point - closest_point);\n }\n}\n\n// Calculate winding number contribution from a line segment\nfn line_winding_contribution(point: vec2f, line_start: vec2f, line_end: vec2f) -> f32 {\n // Vector from query point to line endpoints\n let v1 = line_start - point;\n let v2 = line_end - point;\n \n // Skip if either point is very close to avoid numerical issues\n let dist1 = length(v1);\n let dist2 = length(v2);\n if (dist1 < 1e-6 || dist2 < 1e-6) {\n return 0.0;\n }\n \n // Normalize vectors\n let n1 = v1 / dist1;\n let n2 = v2 / dist2;\n \n // Calculate signed angle using atan2 for proper quadrant handling\n let cross_prod = n1.x * n2.y - n1.y * n2.x;\n let dot_prod = dot(n1, n2);\n \n // Use atan2 for proper quadrant handling\n let angle = atan2(cross_prod, dot_prod);\n \n return angle / (2.0 * 3.14159);\n}\n\n// Ray casting: count intersections of horizontal ray with curve\nfn ray_cast_curve_crossing(point: vec2f, curve: CubicBezier) -> i32 {\n // Quick Y-bounds check - if point is outside Y range, no intersection possible\n let y_min = min(min(curve.p0.y, curve.p1.y), min(curve.p2.y, curve.p3.y));\n let y_max = max(max(curve.p0.y, curve.p1.y), max(curve.p2.y, curve.p3.y));\n let x_min = max(max(curve.p0.x, curve.p1.x), max(curve.p2.x, curve.p3.x));\n \n if (point.y < y_min || point.y > y_max || point.x > x_min) {\n return 0;\n }\n \n // Sample the curve at regular intervals to find intersections\n var crossings = 0;\n let samples = 32; // Good balance between accuracy and performance\n \n for (var i = 0; i < samples; i++) {\n let t1 = f32(i) / f32(samples);\n let t2 = f32(i + 1) / f32(samples);\n \n let p1 = bezier_point(curve, t1);\n let p2 = bezier_point(curve, t2);\n \n // Check if this segment crosses the horizontal ray\n if (ray_crosses_segment(point, p1, p2)) {\n // Calculate the actual intersection X coordinate\n let intersection_x = get_ray_intersection_x(point.y, p1, p2);\n \n // Only count if intersection is to the right of the point\n if (intersection_x > point.x) {\n // Determine crossing direction for proper winding\n if (p1.y < point.y && p2.y >= point.y) {\n crossings += 1; // Upward crossing\n } else if (p1.y >= point.y && p2.y < point.y) {\n crossings -= 1; // Downward crossing\n }\n }\n }\n }\n \n return crossings;\n}\n\n// Check if horizontal ray from point crosses the line segment\nfn ray_crosses_segment(point: vec2f, p1: vec2f, p2: vec2f) -> bool {\n // Check if the segment crosses the horizontal line at point.y\n return (p1.y < point.y && p2.y >= point.y) || (p1.y >= point.y && p2.y < point.y);\n}\n\n// Calculate X coordinate where horizontal ray intersects line segment\nfn get_ray_intersection_x(ray_y: f32, p1: vec2f, p2: vec2f) -> f32 {\n if (abs(p2.y - p1.y) < 1e-8) {\n // Horizontal line - return leftmost X\n return min(p1.x, p2.x);\n }\n \n // Linear interpolation to find intersection X\n let t = (ray_y - p1.y) / (p2.y - p1.y);\n return p1.x + t * (p2.x - p1.x);\n}\n\n// Helper function: distance from point to line (for flatness test)\nfn distance_point_to_line(point: vec2f, line_start: vec2f, line_end: vec2f) -> f32 {\n let line_vec = line_end - line_start;\n let point_vec = point - line_start;\n \n let line_length_sq = dot(line_vec, line_vec);\n if (line_length_sq < 1e-8) {\n return length(point_vec);\n }\n \n let t = dot(point_vec, line_vec) / line_length_sq;\n let closest = line_start + clamp(t, 0.0, 1.0) * line_vec;\n return length(point - closest);\n}\n\nstruct ShapeInfo {\n signed_distance: f32,\n stroke_alpha: f32,\n fill_alpha: f32,\n}\n\n// Main shape evaluation function using SDF approach with ray casting\nfn evaluate_shape(point: vec2f) -> ShapeInfo {\n var min_distance = 1e10;\n var total_crossings: i32 = 0;\n \n // For each curve, find closest point and count ray crossings\n let num_curves = arrayLength(&curves) / 4;\n for (var i = 0u; i < num_curves; i++) {\n let curve = CubicBezier(\n curves[i * 4 + 0],\n curves[i * 4 + 1],\n curves[i * 4 + 2],\n curves[i * 4 + 3]\n );\n\n // Check if this is a straight line (handle points have x >= STRAIGHT_LINE_THRESHOLD)\n let is_straight_line = curve.p1.x > STRAIGHT_LINE_THRESHOLD && curve.p2.x > STRAIGHT_LINE_THRESHOLD;\n\n var distance: f32 = 1e+10;\n\n if (is_straight_line) {\n // Handle as straight line from p0 to p3\n if (u.stroke_width > EPSILON) {\n distance = distance_to_line_segment(point, curve.p0, curve.p3);\n }\n \n // Simple ray casting for line segment\n if (ray_crosses_segment(point, curve.p0, curve.p3)) {\n let intersection_x = get_ray_intersection_x(point.y, curve.p0, curve.p3);\n if (intersection_x > point.x) {\n if (curve.p0.y < point.y && curve.p3.y >= point.y) {\n total_crossings += 1; // Upward crossing\n } else if (curve.p0.y >= point.y && curve.p3.y < point.y) {\n total_crossings -= 1; // Downward crossing\n }\n }\n }\n } else {\n // Handle as normal cubic Bézier curve\n\n if (u.stroke_width > EPSILON) {\n let closest_t = closest_point_on_bezier(point, curve);\n let closest_point = bezier_point(curve, closest_t);\n distance = length(point - closest_point);\n }\n \n // Ray casting for curve\n total_crossings += ray_cast_curve_crossing(point, curve);\n }\n \n min_distance = min(min_distance, distance);\n }\n \n // Determine if point is inside using odd-even rule (ray casting)\n // Count total crossings and check if odd\n let crossing_count = abs(total_crossings);\n let is_inside = (crossing_count % 2) == 1;\n let signed_dist = select(min_distance, -min_distance, is_inside);\n let pixel_gradient = fwidth(signed_dist);\n \n // Anti-aliased fill (negative distance = inside)\n let fill_alpha = smoothstep(pixel_gradient, -pixel_gradient, signed_dist);\n \n // Anti-aliased stroke (based on distance to curve boundary)\n let stroke_half_width = u.stroke_width * 0.5;\n let stroke_alpha = smoothstep(stroke_half_width + pixel_gradient, stroke_half_width - pixel_gradient, abs(signed_dist));\n return ShapeInfo(signed_dist, stroke_alpha, fill_alpha);\n}\n\n@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {\n // Evaluate shape using SDF approach\n let shape_info = evaluate_shape(vsOut.world_pos);\n \n // Combine fill and stroke\n // If stroke is visible, use stroke color, otherwise use fill color\n let final_color = mix(u.fill_color, u.stroke_color, shape_info.stroke_alpha);\n \n // Final alpha is maximum of fill and stroke alpha\n let final_alpha = max(shape_info.fill_alpha, shape_info.stroke_alpha);\n return final_color * final_alpha;\n}\n";let m,p,b,d,w,S,D,v,z,k,x,G,M;function F(A,e){G=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),M=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST});const t=[];return m=function(A,e,t,r){const s=A.createShaderModule({label:"draw triangle module",code:i}),a=A.createRenderPipeline({label:"draw triangle pipeline",layout:"auto",vertex:{module:s,entryPoint:"vs",buffers:[{arrayStride:4*n,stepMode:"instance",attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"float32x4"},{shaderLocation:2,offset:32,format:"float32x4"},{shaderLocation:3,offset:48,format:"unorm8x4"},{shaderLocation:4,offset:52,format:"float32x3"}]}]},fragment:{module:s,entryPoint:"fs",targets:[{format:e,blend:{color:{srcFactor:"one",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}}}]},multisample:{count:4}}),g=A.createBindGroup({layout:a.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:t}}]});return function(e,t){const i=t.byteLength/(4*n),s=A.createBuffer({label:"draw triangle - vertex buffer",size:t.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(s,0,t),r.push(s),e.setPipeline(a),e.setVertexBuffer(0,s),e.setBindGroup(0,g),e.draw(3,i)}}(A,e,G,t),p=function(A,e){const t=A.createShaderModule({label:"bezier shader module",code:r}),i=A.createRenderPipeline({label:"bezier pipline",layout:"auto",primitive:{topology:"triangle-strip"},vertex:{module:t,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:t,entryPoint:"fs",targets:[{format:e}]},depthStencil:{depthWriteEnabled:!1,depthCompare:"always",format:"depth24plus"}});return function(e,t,n,r,s,a,g){const o=4*n.length,I=A.createBuffer({label:"storage points",size:o,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST}),c=A.createBuffer({label:"uniforms",size:80,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),Q=new Float32Array(20),l=Q.subarray(0,16),C=Q.subarray(16,17),B=A.createBindGroup({label:"bezier bind group for object",layout:i.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:c}},{binding:1,resource:{buffer:I}}]}),u=A.createBuffer({label:"bezier vertex buffer vertices",size:r.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(u,0,r);const E=A.createBuffer({label:"bezier vertex buffer vertices",size:s.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(E,0,s);const f=A.createBuffer({label:"bezier vertex buffer vertices",size:a.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(f,0,a),e.setPipeline(i),e.setVertexBuffer(0,u),e.setVertexBuffer(1,E),e.setVertexBuffer(2,f),l.set(t),C.set(new Float32Array([g])),A.queue.writeBuffer(c,0,Q),A.queue.writeBuffer(I,0,n),e.setBindGroup(0,B),e.draw(r.length)}}(A,e),d=function(A,e){const t=A.createShaderModule({label:"3d model texture shader module",code:s}),i=A.createRenderPipeline({label:"3d model texture pipline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:20,attributes:[{shaderLocation:0,offset:0,format:"float32x3"},{shaderLocation:1,offset:12,format:"float32x2"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e}]},depthStencil:{depthWriteEnabled:!1,depthCompare:"always",format:"depth24plus"}});return function(e,t,n,r,s){const a=A.createSampler({magFilter:"linear",minFilter:"linear"}),g=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),o=new Float32Array(16),I=o.subarray(0,16),c=s.length,Q=A.createBuffer({label:"3d model texture vertex buffer vertices",size:r.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(Q,0,r);const l=A.createBuffer({label:"3d model texture index buffer",size:s.byteLength,usage:GPUBufferUsage.INDEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(l,0,s);const C=A.createBindGroup({label:"3d model texture bind group for object",layout:i.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:g}},{binding:1,resource:a},{binding:2,resource:n.createView()}]});e.setPipeline(i),e.setVertexBuffer(0,Q),e.setIndexBuffer(l,"uint32"),I.set(t),A.queue.writeBuffer(g,0,o),e.setBindGroup(0,C),e.drawIndexed(c)}}(A,e),b=function(A,e){const t=A.createShaderModule({label:"3d model shader module",code:a}),i=A.createRenderPipeline({label:"3d model pipline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:12,attributes:[{shaderLocation:0,offset:0,format:"float32x3"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e}]},primitive:{cullMode:"back"},depthStencil:{depthWriteEnabled:!0,depthCompare:"less",format:"depth24plus"}});return function(e,t,n,r){const s=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),a=new Float32Array(16),g=a.subarray(0,16),o=r.length,I=A.createBuffer({label:"vertex buffer vertices",size:n.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(I,0,n);const c=A.createBuffer({label:"index buffer",size:r.byteLength,usage:GPUBufferUsage.INDEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(c,0,r);const Q=A.createBindGroup({label:"bind group for object",layout:i.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:s}}]});e.setPipeline(i),e.setVertexBuffer(0,I),e.setIndexBuffer(c,"uint32"),g.set(t),A.queue.writeBuffer(s,0,a),e.setBindGroup(0,Q),e.drawIndexed(o)}}(A,e),w=function(A,e){const t=A.createShaderModule({label:"3d model light shader module",code:g}),i=A.createRenderPipeline({label:"3d model light pipline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:24,attributes:[{shaderLocation:0,offset:0,format:"float32x3"},{shaderLocation:1,offset:12,format:"float32x3"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e}]},primitive:{cullMode:"back"},depthStencil:{depthWriteEnabled:!0,depthCompare:"less",format:"depth24plus"}});return function(e,t,n,r){const{worldViewProjection:s,normalMatrix:a,lightColor:g,lightDirection:o}=t,I=A.createBuffer({label:"uniforms",size:144,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),c=new Float32Array(36),Q=c.subarray(0,12),l=c.subarray(12,28),C=c.subarray(28,32),B=c.subarray(32,35),u=A.createBindGroup({label:"bind group for object",layout:i.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:I}}]}),E=r.length,f=A.createBuffer({label:"vertex buffer vertices",size:n.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(f,0,n);const y=A.createBuffer({label:"index buffer",size:r.byteLength,usage:GPUBufferUsage.INDEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(y,0,r),e.setPipeline(i),e.setVertexBuffer(0,f),e.setIndexBuffer(y,"uint32"),Q.set(a),l.set(s),C.set(g),B.set(o),A.queue.writeBuffer(I,0,c),e.setBindGroup(0,u),e.drawIndexed(E)}}(A,e),S=function(A){const e=A.createShaderModule({label:"blur shader module",code:o}),t=A.createComputePipeline({layout:"auto",compute:{module:e,entryPoint:"main"}});return function(e,i){const n=[0,1].map((()=>A.createTexture({size:{width:e.width,height:e.height},format:"rgba8unorm",usage:GPUTextureUsage.COPY_DST|GPUTextureUsage.STORAGE_BINDING|GPUTextureUsage.TEXTURE_BINDING}))),r=(()=>{const e=A.createBuffer({size:4,mappedAtCreation:!0,usage:GPUBufferUsage.UNIFORM});return new Uint32Array(e.getMappedRange())[0]=0,e.unmap(),e})(),s=(()=>{const e=A.createBuffer({size:4,mappedAtCreation:!0,usage:GPUBufferUsage.UNIFORM});return new Uint32Array(e.getMappedRange())[0]=1,e.unmap(),e})(),a=A.createBuffer({size:8,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.UNIFORM}),g=A.createSampler({magFilter:"linear",minFilter:"linear"}),o=A.createBindGroup({layout:t.getBindGroupLayout(0),entries:[{binding:0,resource:g},{binding:1,resource:{buffer:a}}]}),Q=A.createBindGroup({layout:t.getBindGroupLayout(1),entries:[{binding:1,resource:e.createView()},{binding:2,resource:n[0].createView()},{binding:3,resource:{buffer:r}}]}),l=A.createBindGroup({layout:t.getBindGroupLayout(1),entries:[{binding:1,resource:n[0].createView()},{binding:2,resource:n[1].createView()},{binding:3,resource:{buffer:s}}]}),C=A.createBindGroup({layout:t.getBindGroupLayout(1),entries:[{binding:1,resource:n[1].createView()},{binding:2,resource:n[0].createView()},{binding:3,resource:{buffer:r}}]}),B=I-14;A.queue.writeBuffer(a,0,new Uint32Array([15,B]));const u=i.beginComputePass();u.setPipeline(t),u.setBindGroup(0,o),u.setBindGroup(1,Q),u.dispatchWorkgroups(Math.ceil(e.width/B),Math.ceil(e.height/c[1])),u.setBindGroup(1,l),u.dispatchWorkgroups(Math.ceil(e.height/B),Math.ceil(e.width/c[1]));for(let A=0;A<1;++A)u.setBindGroup(1,C),u.dispatchWorkgroups(Math.ceil(e.width/B),Math.ceil(e.height/c[1])),u.setBindGroup(1,l),u.dispatchWorkgroups(Math.ceil(e.height/B),Math.ceil(e.width/c[1]));return u.end(),n[1]}}(A),D=function(A,e,t){const i=A.createShaderModule({label:"draw texture module",code:Q}),n=A.createSampler({minFilter:"linear",magFilter:"linear"}),r=A.createRenderPipeline({label:"draw texture pipeline",layout:"auto",vertex:{module:i,entryPoint:"vs",buffers:[{arrayStride:4*l,attributes:[{shaderLocation:0,offset:0,format:"float32x4"}]}]},fragment:{module:i,entryPoint:"fs",targets:[{format:e,blend:{color:{srcFactor:"one",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}}}]},multisample:{count:4}}),s=new WeakMap;return function(e,i,a){const g=i.byteLength/(4*l),o=A.createBuffer({label:"draw texture - vertex buffer",size:i.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(o,0,i);let I=s.get(a);I||(I=A.createBindGroup({layout:r.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:t}},{binding:1,resource:n},{binding:2,resource:a.createView()}]}),s.set(a,I)),e.setPipeline(r),e.setVertexBuffer(0,o),e.setBindGroup(0,I),e.draw(g)}}(A,e,G),v=function(A,e){const t=A.createShaderModule({label:"pick texture module",code:C}),i=A.createSampler({minFilter:"linear",magFilter:"linear"}),n=A.createRenderPipeline({label:"pick texture pipeline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:4*B,attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"uint32"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:"r32uint"}]}}),r=new WeakMap;return function(t,s,a){const g=s.byteLength/(4*B),o=A.createBuffer({label:"pick texture - vertex buffer",size:s.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(o,0,s);let I=r.get(a);I||(I=A.createBindGroup({layout:n.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:e}},{binding:1,resource:i},{binding:2,resource:a.createView()}]}),r.set(a,I)),t.setPipeline(n),t.setVertexBuffer(0,o),t.setBindGroup(0,I),t.draw(g)}}(A,M),z=function(A,e){const t=A.createShaderModule({label:"pick triangle module",code:u}),i=A.createRenderPipeline({label:"pick triangle pipeline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:4*E,stepMode:"instance",attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"float32x4"},{shaderLocation:2,offset:32,format:"float32x4"},{shaderLocation:3,offset:48,format:"uint32"},{shaderLocation:4,offset:52,format:"float32x3"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:"r32uint"}]}});let n=null;return function(t,r){const s=r.byteLength/(4*E),a=A.createBuffer({label:"pick triangle vertex buffer vertices",size:r.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(a,0,r),n||(n=A.createBindGroup({layout:i.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:e}}]})),t.setPipeline(i),t.setVertexBuffer(0,a),t.setBindGroup(0,n),t.draw(3,s)}}(A,M),k=function(A,e,t){const i=A.createShaderModule({label:"draw msdf module",code:f}),n=A.createSampler({minFilter:"linear",magFilter:"linear"}),r=A.createRenderPipeline({label:"draw msdf pipeline",layout:"auto",vertex:{module:i,entryPoint:"vs",buffers:[{arrayStride:4*y,stepMode:"instance",attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"float32x4"},{shaderLocation:2,offset:32,format:"float32x4"},{shaderLocation:3,offset:48,format:"unorm8x4"}]}]},fragment:{module:i,entryPoint:"fs",targets:[{format:e,blend:{color:{srcFactor:"one",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}}}]},multisample:{count:4}}),s=new WeakMap;return function(e,i,a){const g=i.byteLength/(4*y),o=A.createBuffer({label:"draw msdf - vertex buffer",size:i.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(o,0,i);let I=s.get(a);I||(I=A.createBindGroup({layout:r.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:t}},{binding:1,resource:n},{binding:2,resource:a.createView()}]}),s.set(a,I)),e.setPipeline(r),e.setVertexBuffer(0,o),e.setBindGroup(0,I),e.draw(3,g)}}(A,e,G),x=function(A,e,t,i){const n=A.createShaderModule({label:"drawShape shader",code:h}),r=A.createBindGroupLayout({label:"drawShape bind group layout",entries:[{binding:0,visibility:GPUShaderStage.VERTEX|GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}},{binding:1,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"read-only-storage"}},{binding:2,visibility:GPUShaderStage.VERTEX,buffer:{type:"uniform"}}]}),s=A.createRenderPipeline({label:"drawShape pipeline",layout:A.createPipelineLayout({bindGroupLayouts:[r]}),vertex:{module:n,entryPoint:"vs",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,offset:0,format:"float32x2"}]}]},fragment:{module:n,entryPoint:"fs",targets:[{format:e,blend:{color:{srcFactor:"src-alpha",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}}}]},multisample:{count:4}});return function(e,n,a,g){const o=A.createBuffer({label:"drawShape vertex buffer",size:a.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(o,0,a),i.push(o);const I=A.createBuffer({label:"drawShape curves buffer",size:n.byteLength,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(I,0,n),i.push(I);const c=A.createBuffer({label:"drawShape uniforms",size:48,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(c,0,g),i.push(c),e.setPipeline(s);const Q=A.createBindGroup({label:"drawShape bind group",layout:r,entries:[{binding:0,resource:{buffer:c}},{binding:1,resource:{buffer:I}},{binding:2,resource:{buffer:t}}]});e.setBindGroup(0,Q),e.setVertexBuffer(0,o),e.draw(6)}}(A,e,G,t),function(){t.forEach((A=>A.destroy()))}}},3438:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{w:()=>c,z:()=>Q});var n=t(7829),r=t(2842),s=t(2633),a=t(4302),g=t(238),o=A([s,a]);[s,a]=o.then?(await o)():o;let I=()=>{throw new Error("Cache not started")};function c(){I()}function Q(A,e,t,i,o,c){const Q=i.max_x-i.min_x,l=i.max_y-i.min_y,C=A.createTexture({label:"texture cache",format:e,usage:GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.TEXTURE_BINDING,size:[o,c]}),B=A.createCommandEncoder(),u={label:"texture cache pass",colorAttachments:[{view:(0,g.A)(A,o,c,e).createView(),resolveTarget:C.createView(),loadOp:"clear",storeOp:"store"}]},E=B.beginRenderPass(u);(0,s.H)(E);const f=r.A.ortho(i.min_x,i.min_x+Q,i.min_y+l,i.min_y,1,-1);return A.queue.writeBuffer(n.Sp,0,f),I=()=>{E.end();const e=B.finish();A.queue.submit([e])},a.KJ(C,t)}i()}catch(l){i(l)}}))},4461:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{A:()=>a});var n=t(2842),r=t(9200),s=A([r]);function a(A){const e=n.A.ortho(0,A.width,0,A.height,1,-1),t=n.A.translate(e,[r.UI.x,r.UI.y,0]);return n.A.scale(t,[r.UI.zoom,r.UI.zoom,1])}r=(s.then?(await s)():s)[0],i()}catch(g){i(g)}}))},4304:(A,e,t)=>{t.d(e,{A:()=>r});var i=t(238);let n;function r(A,e){const t=A.getCurrentTexture();return function(A,e,t){n&&n.width===e&&n.height===t||(null==n||n.destroy(),n=A.createTexture({size:[e,t],format:"depth24plus",usage:GPUTextureUsage.RENDER_ATTACHMENT}))}(e,t.width,t.height),{label:"our render to canvas renderPass",colorAttachments:[{view:(0,i.A)(e,t.width,t.height,t.format).createView(),resolveTarget:t.createView(),clearValue:[0,0,0,1],loadOp:"clear",storeOp:"store"}]}}},238:(A,e,t)=>{let i;function n(A,e,t,n){return i&&i.width===e&&i.height===t||(null==i||i.destroy(),i=A.createTexture({format:n,usage:GPUTextureUsage.RENDER_ATTACHMENT,size:[e,t],sampleCount:4})),i}t.d(e,{A:()=>n})},8156:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{A:()=>h,b:()=>f});var n=t(214),r=t(1911),s=t(7829),a=t(2633),g=t(1559),o=t(9200),I=t(6561),c=t(1369),Q=t(7846),l=t(4302),C=t(3438),B=t(5179),u=t(7608),E=A([a,g,o,l,C,u]);[a,g,o,l,C,u]=E.then?(await E)():E;var f,y=function(A,e,t,i){return new(t||(t=Promise))((function(n,r){function s(A){try{g(i.next(A))}catch(A){r(A)}}function a(A){try{g(i.throw(A))}catch(A){r(A)}}function g(A){var e;A.done?n(A.value):(e=A.value,e instanceof t?e:new t((function(A){A(e)}))).then(s,a)}g((i=i.apply(A,e||[])).next())}))};function h(A,e,t,i,E,f){return y(this,void 0,void 0,(function*(){let h=0,m=!1;function p(){E(h>0||m)}const b=yield(0,r.A)();l.Ts(b,(A=>{h=A,p()}));const d=A.clientWidth/2,w=A.clientHeight/2;g.vH(d,w,b.limits.maxTextureDimension2D);const S=A.getContext("webgpu");if(!S)throw Error("WebGPU from canvas needs to be always provided");const D=navigator.gpu.getPreferredCanvasFormat();function v(){g.Yj(A.width/(A.clientWidth*o.UI.zoom))}S.configure({device:b,format:D});let z=!1;(0,n.A)(A,b,(()=>{!1===z&&(o.UI.x=(A.width-d)/2,o.UI.y=(A.height-w)/2,z=!0),v()}));const k=(0,s.Ay)(b,D);(0,o.Ay)(A,v,(()=>{m=!0,p()}));const x=(0,B.A)((()=>{(0,u.A)(b,D,A,d,w,U,f)}),5e3);let G=[];function M(){const A=[...G].map((A=>({id:A.id,textureId:A.texture_id,points:[...A.points].map((A=>({x:A.x,y:A.y,u:A.u,v:A.v}))),url:l.ID(A.texture_id)})));t(A)}g.kO((A=>{G=A,M()})),g.Nu(i),g.HU(((A,e,t,i)=>(0,C.z)(b,D,A,e,t,i)),C.w),l.WQ(I,((A,e)=>{g.dU(c.Wn.flatMap((t=>[t.id,t.x/A,t.y/e,t.width/A,t.height/e,t.width,t.height])))}));const{stopRAF:F,capturePreview:U}=(0,a.A)(A,S,b,k,D,(()=>{m=!1,p()}));return{addImage:A=>{const t=l.WQ(A,((i,n,r)=>{const s=(0,Q.A)(i,n,d,w);g.VD(0,s,t),r&&e(A,(A=>{l.Kg(t,A),x(),M()}))}))},removeAsset:g.MW,resetAssets:(A,...t)=>y(this,[A,...t],void 0,(function*(A,t=!1){const i=(yield Promise.allSettled(A.map((A=>new Promise(((t,i)=>{if(A.points)return t({points:A.points,texture_id:A.textureId||l.WQ(A.url),id:A.id||0});const n=l.WQ(A.url,((i,r,s)=>(s&&e(A.url,(A=>{l.Kg(n,A),M()})),t({points:(0,Q.A)(i,r,d,w),texture_id:n,id:0}))))})))))).filter((A=>"fulfilled"===A.status)).map((A=>A.value));g.im(i,t)})),destroy:()=>{F(),g.Nl(),S.unconfigure(),b.destroy()},setTool:g.qV}}))}!function(A){A[A.None=0]="None",A[A.DrawShape=1]="DrawShape"}(f||(f={})),i()}catch(m){i(m)}}))},9105:(A,e,t)=>{function i(A){const e=[255,0,0,255],t=[255,255,0,255],i=new Uint8Array([[0,0,255,255],e,e,e,e,e,t,t,t,e,e,t,e,e,e,e,t,t,e,e,e,t,e,e,e,e,t,e,e,e,e,e,e,e,e].flat()),n=A.createTexture({label:"yellow F on red",size:[5,7],format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST});return A.queue.writeTexture({texture:n},i,{bytesPerRow:20},{width:5,height:7}),n}t.d(e,{A:()=>i})},2633:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{A:()=>C,H:()=>l});var n=t(4304),r=t(7829),s=t(4461),a=t(2872),g=t(1559),o=t(9200),I=t(4302),c=A([s,a,g,o,I]);let Q;function l(A){Q=A}function C(A,e,t,i,c,l){let C;const B=new a.A(t);(0,g.Vh)({draw_texture:(A,e)=>{(0,r._J)(Q,A.dataView,I.Mc(e))},draw_msdf:(A,e)=>{const t=A["*"].dataView;(0,r.hk)(Q,t,I.Mc(e))},draw_triangle:A=>{const e=A["*"].dataView;(0,r.D4)(Q,e)},draw_shape:(A,e,t)=>{const i=A["*"].dataView,n=e["*"].dataView;(0,r.KG)(Q,i,n,t.dataView)},pick_texture:(A,e)=>{const t=A["*"].dataView;(0,r.Fh)(C,t,I.Mc(e))},pick_triangle:A=>{const e=A["*"].dataView;(0,r.Q3)(C,e)}});let u=0;const E={x:0,y:0};function f(a,I){const c=t.createCommandEncoder(),y=(0,n.A)((null==I?void 0:I.ctx)||e,t);Q=c.beginRenderPass(y);const h=(0,s.A)((null==I?void 0:I.canvas)||A);if(t.queue.writeBuffer(r.Sp,0,h),(0,g.IL)(),Q.end(),I){const A=c.finish();return t.queue.submit([A]),i(),void I.onCapture()}if(0===o.Wn.afterPickEventsQueue.length&&l(),o.Wn.afterPickEventsQueue.length>0||E.x!==o.Wn.x||E.y!==o.Wn.y){E.x=o.Wn.x,E.y=o.Wn.y;const e=B.createMatrix(A,h);t.queue.writeBuffer(r.R9,0,e);const i=B.startPicking(c);C=i.pass,(0,g.Jd)(),i.end()}const m=c.finish();t.queue.submit([m]),i(),B.asyncPick(),u=requestAnimationFrame(f)}function y(){cancelAnimationFrame(u)}return u=requestAnimationFrame(f),{stopRAF:y,capturePreview:(A,e)=>new Promise((t=>{y(),f(performance.now(),{canvas:A,ctx:e,onCapture:t}),u=requestAnimationFrame(f)}))}}[s,a,g,o,I]=c.then?(await c)():c,i()}catch(B){i(B)}}))},2344:(A,e,t)=>{t.d(e,{t:()=>i});const i={x:1e11,y:0}},1074:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{A:()=>I});var n=t(1559),r=t(9319),s=t(1590),a=t(1233),g=t(4176),o=A([n]);function I(A,e){"children"in A&&A.children.forEach((A=>{if("string"!=typeof A){if("properties"in A&&"object"==typeof A.properties){const t=A.properties,i={};if(t.fill){const A=(0,a.A)(t.fill);i.fill_color=A}let o;switch(A.tagName){case"path":if("string"!=typeof(null==t?void 0:t.d))throw Error("Path without 'd' property");o=(0,r.A)(t.d,e);break;case"rect":if("number"!=typeof(null==t?void 0:t.width)||"number"!=typeof(null==t?void 0:t.height))throw Error("Path without 'd' property");o=[(0,s.A)(t.width,t.height,e)];break;case"ellipse":if("number"!=typeof(null==t?void 0:t.rx)||"number"!=typeof(null==t?void 0:t.ry))throw Error("Ellipse without 'rx' or 'ry' property");if("number"!=typeof(null==t?void 0:t.cx)||"number"!=typeof(null==t?void 0:t.cy))throw Error("Ellipse without 'cx' or 'cy' property");o=[(0,g.A)(t.cx,t.cy,t.rx,t.ry,e)]}o&&n.y9(o,i)}I(A,e)}}))}n=(o.then?(await o)():o)[0],i()}catch(c){i(c)}}))},1233:(A,e,t)=>{function i(A){const e=new OffscreenCanvas(1,1).getContext("2d");e.fillStyle=A,e.fillRect(0,0,1,1);const t=e.getImageData(0,0,1,1),[i,n,r,s]=t.data;return[i/255,n/255,r/255,s/255]}t.d(e,{A:()=>i})},4176:(A,e,t)=>{function i(A,e,t,i,n){const r=n-e,s=.5522847498307936,a=s*t,g=s*i,o={x:A+t,y:r},I={x:A,y:r+i},c={x:A-t,y:r},Q={x:A,y:r-i};return[[o,{x:A+t,y:r+g},{x:A+a,y:r+i},I],[I,{x:A-a,y:r+i},{x:A-t,y:r+g},c],[c,{x:A-t,y:r-g},{x:A-a,y:r-i},Q],[Q,{x:A+a,y:r-i},{x:A+t,y:r-g},o]]}t.d(e,{A:()=>i})},9319:(A,e,t)=>{t.d(e,{A:()=>r});var i=t(2344);function n(A,e){return e-A}function r(A,e){const t=function(A){const e=[],t=/([MmLlHhVvCcSsQqTtAaZz])\s*([^MmLlHhVvCcSsQqTtAaZz]*)/g;let i;for(;null!==(i=t.exec(A));){const A=i[1],t=i[2].trim(),n=[];if(t){const A=t.match(/-?[0-9]*\.?[0-9]+(?:[eE][-+]?[0-9]+)?/g);A&&n.push(...A.map(parseFloat))}e.push({command:A,args:n})}return e}(A),r=function(A,e){const t=[];let r=[],s={x:0,y:n(0,e)},a={x:0,y:n(0,e)},g=null;const o=()=>{r.length>0&&(t.push([...r]),r=[])};for(const{command:t,args:I}of A)switch(t.toLowerCase()){case"m":{r.length>0&&o();const A="m"===t;for(let t=0;t<I.length;t+=2)if(0===t)s={x:A?s.x+I[t]:I[t],y:A?s.y-I[t+1]:n(I[t+1],e)},a=Object.assign({},s);else{const a={x:I[t]+(A?s.x:0),y:A?s.y-I[t+1]:n(I[t+1],e)},g=[s,i.t,i.t,a];r.push(g),s=a}g=null;break}case"l":{const A="l"===t;for(let t=0;t<I.length;t+=2){const a={x:I[t]+(A?s.x:0),y:A?s.y-I[t+1]:n(I[t+1],e)},g=[s,i.t,i.t,a];r.push(g),s=a}g=null;break}case"h":{const A="h"===t;for(const e of I){const t={x:e+(A?s.x:0),y:s.y},n=[s,i.t,i.t,t];r.push(n),s=t}g=null;break}case"v":{const A="v"===t;for(const t of I){const a={x:s.x,y:A?s.y-t:n(t,e)},g=[s,i.t,i.t,a];r.push(g),s=a}g=null;break}case"c":{const A="c"===t;for(let t=0;t<I.length;t+=6){const i={x:I[t]+(A?s.x:0),y:A?s.y-I[t+1]:n(I[t+1],e)},a={x:I[t+2]+(A?s.x:0),y:A?s.y-I[t+3]:n(I[t+3],e)},o={x:I[t+4]+(A?s.x:0),y:A?s.y-I[t+5]:n(I[t+5],e)},c=[s,i,a,o];r.push(c),s=o,g=a}break}case"s":{const A="s"===t;for(let t=0;t<I.length;t+=4){const i=g?{x:2*s.x-g.x,y:2*s.y-g.y}:Object.assign({},s),a={x:I[t]+(A?s.x:0),y:A?s.y-I[t+1]:n(I[t+1],e)},o={x:I[t+2]+(A?s.x:0),y:A?s.y-I[t+3]:n(I[t+3],e)},c=[s,i,a,o];r.push(c),s=o,g=a}break}case"z":if(s.x!==a.x||s.y!==a.y){const A=[s,i.t,i.t,a];r.push(A)}s=a,g=null,o();break;default:console.warn(`SVG path command '${t}' not supported yet`),g=null}return o(),t}(t,e);return r}},1590:(A,e,t)=>{t.d(e,{A:()=>n});var i=t(2344);function n(A,e,t){const n={x:0,y:e},r={x:A,y:e},s={x:A,y:0},a={x:0,y:0};return[[n,i.t,i.t,r],[r,i.t,i.t,s],[s,i.t,i.t,a],[a,i.t,i.t,n]]}},4302:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{ID:()=>y,KJ:()=>f,Kg:()=>b,Mc:()=>E,Ts:()=>B,WQ:()=>u});var n=t(9105),r=t(4637),s=t(1549),a=t(1074),g=A([a]);a=(g.then?(await g)():g)[0];var o=function(A,e,t,i){return new(t||(t=Promise))((function(n,r){function s(A){try{g(i.next(A))}catch(A){r(A)}}function a(A){try{g(i.throw(A))}catch(A){r(A)}}function g(A){var e;A.done?n(A.value):(e=A.value,e instanceof t?e:new t((function(A){A(e)}))).then(s,a)}g((i=i.apply(A,e||[])).next())}))};let I,c,Q,l,C;function B(A,e){I=A,c=[],Q=(0,n.A)(I),l=()=>e(C),C=0}function u(A,e){C++,l();const t=c.find((e=>e.url===A));if(t)return C--,l(),null==e||e(t.texture.width,t.texture.height,!1),c.indexOf(t);const i=c.length;return c.push({url:A}),d(A).then((([A,t])=>{var n;if(t){const e=t.children[0];console.log(e);const i=(null===(n=e.properties)||void 0===n?void 0:n.height)||A.naturalHeight;if(!i||"number"!=typeof i)throw Error("SVG height is required");return void(0,a.A)(e,i)}const{ctx:r}=h(A,A.naturalWidth,A.naturalHeight),g=r.getImageData(0,0,A.naturalWidth,A.naturalHeight).data,o=m(g),Q=p(g,o);null!==Q?c[i]=Q:(c[i].texture=(0,s.Be)(I,A,{flipY:!0}),c[i].data=g,c[i].hash=o),null==e||e(A.width,A.height,!Q),C--,l()})),i}function E(A){var e;return null!==(e=c[A].texture)&&void 0!==e?e:Q}function f(A,e){var t;null!==e&&(null===(t=c[e].texture)||void 0===t||t.destroy());const i=null!=e?e:c.length;return c[i]={url:"cache",texture:A},i}function y(A){return c[A].url}function h(A,e,t){const i=new OffscreenCanvas(e,t),n=i.getContext("2d");return n.drawImage(A,0,0,e,t),{canvas:i,ctx:n}}function m(A){let e=5381;for(let t=0;t<A.length;t++)e=(e<<5)+e+A[t];return String(e)}function p(A,e){for(let t=0;t<c.length;t++){const i=c[t];if(i.hash===e){if(A.length!==i.data.length)return null;for(let e=0;e<A.length;e++)if(A[e]!==i.data[e])return null;return i}}return null}function b(A,e){c[A].url=e}function d(A){return o(this,void 0,void 0,(function*(){return Promise.all([new Promise((e=>{const t=new Image;t.src=A,t.onload=()=>e(t)})),new Promise((e=>{fetch(A).then((A=>A.text())).then((A=>{A.includes("<svg")?e((0,r.q)(A)):e(null)}))}))])}))}i()}catch(w){i(w)}}))},6253:(A,e,t)=>{function i(A,e,t){return Math.min(t,Math.max(e,A))}t.d(e,{A:()=>i})},5179:(A,e,t)=>{function i(A,e){let t;return(...i)=>{window.clearTimeout(t),t=window.setTimeout((()=>{A(...i)}),e)}}t.d(e,{A:()=>i})},7846:(A,e,t)=>{t.d(e,{A:()=>n});var i=t(6253);function n(A,e,t,n){const r=function(A,e,t,n){if(n-e<t-A)return(0,i.A)(e,.2*n,.8*n)/e;return(0,i.A)(A,.2*t,.8*t)/A}(A,e,t,n),s=A*r,a=e*r,g=.5*(t-s),o=.5*(n-a);return[{x:g,y:o+a,u:0,v:1},{x:g+s,y:o+a,u:1,v:1},{x:g+s,y:o,u:1,v:0},{x:g,y:o,u:0,v:0}]}},2842:(A,e,t)=>{t.d(e,{A:()=>r});const i={cross(A,e,t=new Float32Array(3)){const i=A[1]*e[2]-A[2]*e[1],n=A[2]*e[0]-A[0]*e[2],r=A[0]*e[1]-A[1]*e[0];return t[0]=i,t[1]=n,t[2]=r,t},subtract:(A,e,t=new Float32Array(3))=>(t[0]=A[0]-e[0],t[1]=A[1]-e[1],t[2]=A[2]-e[2],t),normalize(A,e=new Float32Array(3)){const t=Math.sqrt(A[0]*A[0]+A[1]*A[1]+A[2]*A[2]);return t>1e-5?(e[0]=A[0]/t,e[1]=A[1]/t,e[2]=A[2]/t):(e[0]=0,e[1]=0,e[2]=0),e}},n={projection:(A,e,t,i)=>n.ortho(0,A,e,0,t,-t,i),perspective(A,e,t,i,n=new Float32Array(16)){const r=Math.tan(.5*Math.PI-.5*A),s=1/(t-i);return n[0]=r/e,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=r,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=i*s,n[11]=-1,n[12]=0,n[13]=0,n[14]=t*i*s,n[15]=0,n},ortho:(A,e,t,i,n,r,s=new Float32Array(16))=>(s[0]=2/(e-A),s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=2/(i-t),s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=1/(n-r),s[11]=0,s[12]=(e+A)/(A-e),s[13]=(i+t)/(t-i),s[14]=n/(n-r),s[15]=1,s),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,e,t=new Float32Array(16)){const i=e[0],n=e[1],r=e[2],s=e[3],a=e[4],g=e[5],o=e[6],I=e[7],c=e[8],Q=e[9],l=e[10],C=e[11],B=e[12],u=e[13],E=e[14],f=e[15],y=A[0],h=A[1],m=A[2],p=A[3],b=A[4],d=A[5],w=A[6],S=A[7],D=A[8],v=A[9],z=A[10],k=A[11],x=A[12],G=A[13],M=A[14],F=A[15];return t[0]=i*y+n*b+r*D+s*x,t[1]=i*h+n*d+r*v+s*G,t[2]=i*m+n*w+r*z+s*M,t[3]=i*p+n*S+r*k+s*F,t[4]=a*y+g*b+o*D+I*x,t[5]=a*h+g*d+o*v+I*G,t[6]=a*m+g*w+o*z+I*M,t[7]=a*p+g*S+o*k+I*F,t[8]=c*y+Q*b+l*D+C*x,t[9]=c*h+Q*d+l*v+C*G,t[10]=c*m+Q*w+l*z+C*M,t[11]=c*p+Q*S+l*k+C*F,t[12]=B*y+u*b+E*D+f*x,t[13]=B*h+u*d+E*v+f*G,t[14]=B*m+u*w+E*z+f*M,t[15]=B*p+u*S+E*k+f*F,t},cameraAim(A,e,t,n=new Float32Array(16)){const r=i.normalize(i.subtract(A,e)),s=i.normalize(i.cross(t,r)),a=i.normalize(i.cross(r,s));return n[0]=s[0],n[1]=s[1],n[2]=s[2],n[3]=0,n[4]=a[0],n[5]=a[1],n[6]=a[2],n[7]=0,n[8]=r[0],n[9]=r[1],n[10]=r[2],n[11]=0,n[12]=A[0],n[13]=A[1],n[14]=A[2],n[15]=1,n},inverse(A,e=new Float32Array(16)){const t=A[0],i=A[1],n=A[2],r=A[3],s=A[4],a=A[5],g=A[6],o=A[7],I=A[8],c=A[9],Q=A[10],l=A[11],C=A[12],B=A[13],u=A[14],E=A[15],f=Q*E,y=u*l,h=g*E,m=u*o,p=g*l,b=Q*o,d=n*E,w=u*r,S=n*l,D=Q*r,v=n*o,z=g*r,k=I*B,x=C*c,G=s*B,M=C*a,F=s*c,U=I*a,J=t*B,L=C*i,N=t*c,R=I*i,O=t*a,q=s*i,K=f*a+m*c+p*B-(y*a+h*c+b*B),Y=y*i+d*c+D*B-(f*i+w*c+S*B),_=h*i+w*a+v*B-(m*i+d*a+z*B),P=b*i+S*a+z*c-(p*i+D*a+v*c),V=1/(t*K+s*Y+I*_+C*P);return e[0]=V*K,e[1]=V*Y,e[2]=V*_,e[3]=V*P,e[4]=V*(y*s+h*I+b*C-(f*s+m*I+p*C)),e[5]=V*(f*t+w*I+S*C-(y*t+d*I+D*C)),e[6]=V*(m*t+d*s+z*C-(h*t+w*s+v*C)),e[7]=V*(p*t+D*s+v*I-(b*t+S*s+z*I)),e[8]=V*(k*o+M*l+F*E-(x*o+G*l+U*E)),e[9]=V*(x*r+J*l+R*E-(k*r+L*l+N*E)),e[10]=V*(G*r+L*o+O*E-(M*r+J*o+q*E)),e[11]=V*(U*r+N*o+q*l-(F*r+R*o+O*l)),e[12]=V*(G*Q+U*u+x*g-(F*u+k*g+M*Q)),e[13]=V*(N*u+k*n+L*Q-(J*Q+R*u+x*n)),e[14]=V*(J*g+q*u+M*n-(O*u+G*n+L*g)),e[15]=V*(O*Q+F*n+R*g-(N*g+q*Q+U*n)),e},transpose:(A,e=new Float32Array(16))=>(e[0]=A[0],e[1]=A[4],e[2]=A[8],e[3]=A[12],e[4]=A[1],e[5]=A[5],e[6]=A[9],e[7]=A[13],e[8]=A[2],e[9]=A[6],e[10]=A[10],e[11]=A[14],e[12]=A[3],e[13]=A[7],e[14]=A[11],e[15]=A[15],e),aim(A,e,t,n=new Float32Array(16)){const r=i.normalize(i.subtract(e,A)),s=i.normalize(i.cross(t,r)),a=i.normalize(i.cross(r,s));return n[0]=s[0],n[1]=s[1],n[2]=s[2],n[3]=0,n[4]=a[0],n[5]=a[1],n[6]=a[2],n[7]=0,n[8]=r[0],n[9]=r[1],n[10]=r[2],n[11]=0,n[12]=A[0],n[13]=A[1],n[14]=A[2],n[15]=1,n},lookAt:(A,e,t,i)=>n.inverse(n.cameraAim(A,e,t,i),i),translation:([A,e,t],i=new Float32Array(16))=>(i[0]=1,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=1,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=1,i[11]=0,i[12]=A,i[13]=e,i[14]=t,i[15]=1,i),rotationX(A,e=new Float32Array(16)){const t=Math.cos(A),i=Math.sin(A);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t,e[6]=i,e[7]=0,e[8]=0,e[9]=-i,e[10]=t,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},rotationY(A,e=new Float32Array(16)){const t=Math.cos(A),i=Math.sin(A);return e[0]=t,e[1]=0,e[2]=-i,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=i,e[9]=0,e[10]=t,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},rotationZ(A,e=new Float32Array(16)){const t=Math.cos(A),i=Math.sin(A);return e[0]=t,e[1]=i,e[2]=0,e[3]=0,e[4]=-i,e[5]=t,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},scaling:([A,e,t],i=new Float32Array(16))=>(i[0]=A,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=e,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=t,i[11]=0,i[12]=0,i[13]=0,i[14]=0,i[15]=1,i),translate:(A,e,t)=>n.multiply(A,n.translation(e),t),rotateX:(A,e,t)=>n.multiply(A,n.rotationX(e),t),rotateY:(A,e,t)=>n.multiply(A,n.rotationY(e),t),rotateZ:(A,e,t)=>n.multiply(A,n.rotationZ(e),t),scale:(A,e,t)=>n.multiply(A,n.scaling(e),t)},r=n},1559:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{Ay:()=>Pa,Dk:()=>ig,HU:()=>ja,IL:()=>gg,Jd:()=>og,MW:()=>eg,Nl:()=>cg,Nu:()=>Za,OI:()=>tg,VD:()=>Ag,Vh:()=>Ha,Yj:()=>$a,_R:()=>ng,c2:()=>sg,dU:()=>Qg,im:()=>Ig,kO:()=>Ta,o6:()=>ag,qV:()=>lg,vH:()=>Wa,wU:()=>rg,y9:()=>Bg});var n=t(4773);t(1285),t(9592),t(2148),t(7635),t(4828),t(6973),t(2427),t(1669),t(6929),t(4936),t(8738),t(1432),t(1454),t(6402),t(9098),t(9494),t(337),t(3971),t(7431),t(7591),t(6717),t(2164),t(5496),t(6135),t(9813),t(3793),t(8305),t(3456),t(8539),t(7679),t(2244),t(3509),t(9433),t(8371),t(903),t(3692),t(7382),t(3750),t(1425),t(8773),t(3086),t(8771),t(8991),t(8502),t(9025),t(9426),t(1991),t(5558),t(4358),t(2436),t(7409),t(1674),t(9268),t(5239);const A={constructor:null,type:0,flags:0,signature:void 0,name:void 0,byteSize:0,align:0,instance:{members:[],template:null},static:{members:[],template:null}},r={type:0,flags:0},s={},a={},g={},o={},I={},c={},Q={},l={},C={},B={},u={},E={},f={},y={},h={},m={},p={},b={},d={},w={},S={},D={},v={},z={},k={},x={},G={},M={},F={},U={},J={},L={},N={},R={},O={},q={},K={},Y={},_={},P={},V={},H={},T={},Z={},j={},X={},W={},$={},AA={},eA={},tA={},iA={},nA={},rA={},sA={},aA={},gA={},oA={},IA={},cA={},QA={},lA={},CA={},BA={},uA={},EA={},fA={},yA={},hA={},mA={},pA={},bA={},dA={},wA={},SA={},DA={},vA={},zA={},kA={},xA={},GA={},MA={},FA={},UA={},JA={},LA={},NA={},RA={},OA={},qA={},KA={},YA={},_A={},PA={},VA={},HA={},TA={},ZA={},jA={},XA={},WA={},$A={},Ae={},ee={},te={},ie={},ne={},re={},se={},ae={},ge={},oe={},Ie={},ce={},Qe={},le={},Ce={},Be={},ue={},Ee={},fe={},ye={},he={},me={},pe={},be={},de={},we={},Se={},De={},ve={},ze={},ke={},xe={},Ge={},Me={},Fe={},Ue={},Je={},Le={},Ne={},Re={},Oe={},qe={},Ke={},Ye={},_e={},Pe={},Ve={},He={},Te={},Ze={},je={},Xe={},We={},$e={},At={},et={},tt={},it={},nt={},rt={},st={},at={},gt={},ot={},It={},ct={},Qt={},lt={},Ct={},Bt={},ut={},Et={},ft={},yt={},ht={},mt={},pt={},bt={},dt={},wt={},St={},Dt={},vt={},zt={},kt={},xt={},Gt={},Mt={},Ft={},Ut={},Jt={},Lt={},Nt={},Rt={},Ot={},qt={},Kt={},Yt={},_t={},Pt={},Vt={},Ht={},Tt={},Zt={},jt={},Xt={},Wt={},$t={},Ai={},ei={},ti={},ii={},ni={},ri={},si={},ai={},gi={},oi={},Ii={},ci={},Qi={},li={},Ci={},Bi={},ui={},Ei={},fi={},yi={},hi={},mi={},pi={},bi={},di={},wi={},Si={},Di={},vi={},zi={},ki={},xi={},Gi={},Mi={},Fi={},Ui={},Ji={},Li={},Ni={},Ri={},Oi={},qi={},Ki={},Yi={},_i={},Pi={},Vi={},Hi={},Ti={},Zi={},ji={},Xi={},Wi={},$i={},An={},en={},tn={},nn={},rn={},sn={},an={},gn={},on={},In={},cn={},Qn={},ln={},Cn={},Bn={},un={},En={},fn={},yn={},hn={},mn={},pn={},bn={},dn={},wn={},Sn={},Dn={},vn={},zn={},kn={},xn={},Gn={},Mn={},Fn={},Un={},Jn={},Ln={},Nn={},Rn={},On={},qn={},Kn={},Yn={},_n={},Pn={},Vn={},Hn={},Tn={},Zn={},jn={},Xn={},Wn={},$n={},Ar={},er={},tr={},ir={},nr={},rr={},sr={},ar={},gr={},or={},Ir={},cr={},Qr={},lr={},Cr={},Br={},ur={},Er={},fr={},yr={},hr={},mr={},pr={},br={},dr={},wr={},Sr={},Dr={},vr={},zr={},kr={},xr={},Gr={},Mr={},Fr={},Ur={},Jr={},Lr={},Nr={},Rr={},Or={},qr={},Kr={},Yr={},_r={},Pr={},Vr={},Hr={},Tr={},Zr={},jr={},Xr={},Wr={},$r={},As={},es={},ts={},is={},ns={},rs={},ss={},as={},gs={},os={},Is={},cs={},Qs={},ls={},Cs={},Bs={},us={},Es={},fs={},ys={},hs={},ms={},ps={},bs={},ds={},ws={},Ss={},Ds={},vs={},zs={},ks={},xs={},Gs={},Ms={},Fs={},Us={},Js={},Ls={},Ns={},Rs={},Os={},qs={},Ks={},Ys={},_s={},Ps={},Vs={},Hs=A=>new Uint8Array(A),Ts=Hs(0),Zs=Hs(8),js=Hs(16),Xs=Hs(64),Ws=Hs(48),$s=Hs(52),Aa=Hs(20),ea=Hs(64),ta=Hs(24),ia=Hs(72),na=Hs(16),ra=Hs(1),sa=Hs([1]),aa=Hs([2]),ga=Hs([3]),oa=Hs([4]),Ia=Hs([5]),ca=Hs(1),Qa=Hs(sa),la=Hs(aa),Ca=Hs(1),Ba=Hs(sa),ua=Hs(aa),Ea=Hs(ga),fa=Hs(oa),ya=Hs(Ia),ha=Hs([6]),ma=Hs(16),pa=Hs([8,0]),ba=Hs(8),da=Hs(pa),wa=Hs(pa),Sa=Hs(pa),Da=Hs(pa),va=Hs(pa),za=Hs(pa),ka=Hs(pa),xa=Hs(pa),Ga=Hs(pa),Ma=Hs(pa),Fa=Hs(1),Ua=Hs(sa),Ja=Hs(pa),La=Hs([0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0]),Na=Hs([232,3,0,0]),Ra=Object.assign;Ra(jt,{memory:{array:Ts},handle:99}),Ra(Xt,{memory:{array:Ts},handle:100}),Ra(Wt,{memory:{array:Ts},handle:101}),Ra($t,{memory:{array:Zs}}),Ra(Ai,{slots:{0:ei,2:ti,3:ii,4:ni}}),Ra(ei,{structure:o,memory:{array:Ts},handle:60}),Ra(ti,{structure:c,memory:{array:Ts},handle:61}),Ra(ii,{structure:o,memory:{array:Ts},handle:62}),Ra(ni,{structure:l,memory:{array:Ts},handle:63}),Ra(ri,{memory:{array:Ts},handle:86}),Ra(si,{memory:{array:Ts},handle:87}),Ra(ai,{memory:{array:js}}),Ra(gi,{slots:{0:oi,1:Ii,2:ci}}),Ra(oi,{structure:u,memory:{array:Ts},handle:60}),Ra(Ii,{structure:f,memory:{array:Ts},handle:76}),Ra(ci,{structure:f,memory:{array:Ts},handle:61}),Ra(Qi,{memory:{array:Ts},handle:44}),Ra(li,{memory:{array:Ts},handle:45}),Ra(Ci,{memory:{array:Xs}}),Ra(Bi,{memory:{array:Ts},handle:25}),Ra(ui,{memory:{array:Ts},handle:46}),Ra(Ei,{memory:{array:Ws}}),Ra(fi,{memory:{array:Ts},handle:47}),Ra(yi,{memory:{array:Ts},handle:48}),Ra(hi,{memory:{array:$s}}),Ra(mi,{memory:{array:Ts},handle:49}),Ra(pi,{memory:{array:Ts},handle:50}),Ra(bi,{memory:{array:Aa}}),Ra(di,{memory:{array:Ts},handle:49}),Ra(wi,{memory:{array:Ts},handle:51}),Ra(Si,{memory:{array:ea}}),Ra(Di,{memory:{array:Ts},handle:25}),Ra(vi,{memory:{array:Ts},handle:52}),Ra(zi,{memory:{array:ta},handle:264364,slots:{0:ki,1:Gi,2:Fi,3:Ji,4:Ni,5:Oi}}),Ra(ki,{structure:d,memory:{array:ta,offset:0,length:4},slots:{0:xi}}),Ra(xi,{structure:b,memory:{array:Ts}}),Ra(Gi,{structure:M,memory:{array:ta,offset:4,length:4},slots:{0:Mi}}),Ra(Mi,{structure:G,memory:{array:Ts}}),Ra(Fi,{structure:O,memory:{array:ta,offset:8,length:4},slots:{0:Ui}}),Ra(Ui,{structure:R,memory:{array:Ts}}),Ra(Ji,{structure:H,memory:{array:ta,offset:12,length:4},slots:{0:Li}}),Ra(Li,{structure:V,memory:{array:Ts}}),Ra(Ni,{structure:$,memory:{array:ta,offset:16,length:4},slots:{0:Ri}}),Ra(Ri,{structure:W,memory:{array:Ts}}),Ra(Oi,{structure:rA,memory:{array:ta,offset:20,length:4},slots:{0:qi}}),Ra(qi,{structure:nA,memory:{array:Ts}}),Ra(Ki,{memory:{array:Ts},handle:24}),Ra(Yi,{memory:{array:ia}}),Ra(_i,{memory:{array:Ts},handle:25}),Ra(Pi,{memory:{array:Ts},handle:26}),Ra(Vi,{memory:{array:Ts},handle:27}),Ra(Hi,{memory:{array:Ts},handle:35}),Ra(Ti,{memory:{array:Ts},handle:36}),Ra(Zi,{memory:{array:Ts},handle:27}),Ra(ji,{memory:{array:na}}),Ra(Xi,{memory:{array:Ts},handle:28}),Ra(Wi,{memory:{array:Ts},handle:29}),Ra($i,{memory:{array:Ts},handle:39}),Ra(An,{memory:{array:Ts},handle:40}),Ra(en,{memory:{array:Ts},handle:30}),Ra(tn,{memory:{array:Ts},handle:88}),Ra(nn,{memory:{array:Ts},handle:89}),Ra(rn,{memory:{array:Ts},handle:102}),Ra(sn,{memory:{array:Ts},handle:103}),Ra(an,{memory:{array:Ts},handle:105}),Ra(gn,{slots:{0:on,1:In,2:cn,3:Qn,4:ln,5:Cn,6:Bn}}),Ra(on,{structure:XA,memory:{array:Ts},handle:98}),Ra(In,{structure:WA,memory:{array:ra},const:!0}),Ra(cn,{structure:WA,memory:{array:sa},const:!0}),Ra(Qn,{structure:WA,memory:{array:aa},const:!0}),Ra(ln,{structure:WA,memory:{array:ga},const:!0}),Ra(Cn,{structure:WA,memory:{array:oa},const:!0}),Ra(Bn,{structure:WA,memory:{array:Ia},const:!0}),Ra(un,{memory:{array:Ts},handle:104}),Ra(En,{slots:{0:fn,1:yn,2:hn,3:mn,4:pn,5:bn}}),Ra(fn,{structure:PA,memory:{array:Ts},handle:95}),Ra(yn,{structure:TA,memory:{array:Ts},handle:96}),Ra(hn,{structure:Ae,memory:{array:Ts},handle:97}),Ra(mn,{structure:ee,memory:{array:ca},const:!0}),Ra(pn,{structure:ee,memory:{array:Qa},const:!0}),Ra(bn,{structure:ee,memory:{array:la},const:!0}),Ra(dn,{memory:{array:Ts},handle:90}),Ra(wn,{memory:{array:Ts},handle:91}),Ra(Sn,{memory:{array:Ts},handle:92}),Ra(Dn,{memory:{array:Ts},handle:93}),Ra(vn,{memory:{array:Ts},handle:94}),Ra(zn,{slots:{0:kn,1:xn,2:Gn,3:Mn,4:Fn,5:Un,6:Jn,7:Ln,8:Nn,9:Rn,10:On,11:qn,12:Kn,13:Yn,14:_n,15:Pn}}),Ra(kn,{structure:qA,memory:{array:Ts},handle:77}),Ra(xn,{structure:YA,memory:{array:Ts},handle:78}),Ra(Gn,{structure:ie,memory:{array:Ts},handle:79}),Ra(Mn,{structure:re,memory:{array:Ts},handle:80}),Ra(Fn,{structure:ae,memory:{array:Ts},handle:81}),Ra(Un,{structure:ae,memory:{array:Ts},handle:82}),Ra(Jn,{structure:oe,memory:{array:Ts},handle:83}),Ra(Ln,{structure:oe,memory:{array:Ts},handle:84}),Ra(Nn,{structure:ce,memory:{array:Ts},handle:85}),Ra(Rn,{structure:Qe,memory:{array:Ca},const:!0}),Ra(On,{structure:Qe,memory:{array:Ba},const:!0}),Ra(qn,{structure:Qe,memory:{array:ua},const:!0}),Ra(Kn,{structure:Qe,memory:{array:Ea},const:!0}),Ra(Yn,{structure:Qe,memory:{array:fa},const:!0}),Ra(_n,{structure:Qe,memory:{array:ya},const:!0}),Ra(Pn,{structure:Qe,memory:{array:ha},const:!0}),Ra(Vn,{memory:{array:Ts},handle:64}),Ra(Hn,{memory:{array:Ts},handle:65}),Ra(Tn,{memory:{array:Ts},handle:66}),Ra(Zn,{memory:{array:Ts},handle:67}),Ra(jn,{memory:{array:Ts},handle:68}),Ra(Xn,{memory:{array:Ts},handle:69}),Ra(Wn,{memory:{array:Ts},handle:70}),Ra($n,{memory:{array:Ts},handle:71}),Ra(Ar,{memory:{array:ma},handle:264388,slots:{0:er,1:ir,2:rr,3:ar}}),Ra(er,{structure:Be,memory:{array:ma,offset:0,length:4},slots:{0:tr}}),Ra(tr,{structure:Ce,memory:{array:Ts}}),Ra(ir,{structure:ye,memory:{array:ma,offset:4,length:4},slots:{0:nr}}),Ra(nr,{structure:fe,memory:{array:Ts}}),Ra(rr,{structure:pe,memory:{array:ma,offset:8,length:4},slots:{0:sr}}),Ra(sr,{structure:me,memory:{array:Ts}}),Ra(ar,{structure:we,memory:{array:ma,offset:12,length:4},slots:{0:gr}}),Ra(gr,{structure:de,memory:{array:Ts}}),Ra(or,{slots:{0:Ir}}),Ra(Ir,{structure:ze,memory:{array:pa},const:!0}),Ra(cr,{memory:{array:Ts},handle:72}),Ra(Qr,{memory:{array:Ts},handle:72}),Ra(lr,{memory:{array:Ts},handle:73}),Ra(Cr,{memory:{array:Ts},handle:73}),Ra(Br,{memory:{array:Ts},handle:74}),Ra(ur,{memory:{array:Ts},handle:74}),Ra(Er,{memory:{array:Ts},handle:75}),Ra(fr,{memory:{array:Ts},handle:75}),Ra(yr,{memory:{array:ba},handle:264168,slots:{0:hr,1:pr}}),Ra(hr,{structure:UA,memory:{array:ba,offset:0,length:4},slots:{0:mr}}),Ra(mr,{structure:FA,memory:{array:Ts}}),Ra(pr,{structure:De,memory:{array:ba,offset:4,length:4}}),Ra(br,{slots:{0:dr,1:Sr,2:vr,3:kr,4:xr,5:Gr,6:Mr,7:Fr,8:Ur,9:Jr}}),Ra(dr,{structure:ve,memory:{array:Ts},slots:{0:wr}}),Ra(wr,{structure:ze}),Ra(Sr,{structure:ve,memory:{array:Ts},slots:{0:Dr}}),Ra(Dr,{structure:ke}),Ra(vr,{structure:ve,memory:{array:Ts},slots:{0:zr}}),Ra(zr,{structure:Se}),Ra(kr,{structure:fe,memory:{array:Ts},handle:53}),Ra(xr,{structure:me,memory:{array:Ts},handle:54}),Ra(Gr,{structure:de,memory:{array:Ts},handle:55}),Ra(Mr,{structure:Me,memory:{array:Ts},handle:56}),Ra(Fr,{structure:Je,memory:{array:Ts},handle:57}),Ra(Ur,{structure:Re,memory:{array:Ts},handle:58}),Ra(Jr,{structure:Ke,memory:{array:Ts},handle:59}),Ra(Lr,{memory:{array:Ts},handle:31}),Ra(Nr,{slots:{0:Rr}}),Ra(Rr,{structure:Ve,memory:{array:da},const:!0}),Ra(Or,{memory:{array:Ts},handle:32}),Ra(qr,{slots:{0:Kr}}),Ra(Kr,{structure:je,memory:{array:wa},const:!0}),Ra(Yr,{memory:{array:Ts},handle:33}),Ra(_r,{slots:{0:Pr}}),Ra(Pr,{structure:At,memory:{array:Sa},const:!0}),Ra(Vr,{memory:{array:Ts},handle:34}),Ra(Hr,{slots:{0:Tr}}),Ra(Tr,{structure:nt,memory:{array:Da},const:!0}),Ra(Zr,{memory:{array:Ts},handle:37}),Ra(jr,{slots:{0:Xr}}),Ra(Xr,{structure:gt,memory:{array:va},const:!0}),Ra(Wr,{memory:{array:Ts},handle:34}),Ra($r,{memory:{array:Ts},handle:38}),Ra(As,{slots:{0:es}}),Ra(es,{structure:Ct,memory:{array:za},const:!0}),Ra(ts,{memory:{array:Ts},handle:34}),Ra(is,{slots:{0:ns}}),Ra(ns,{structure:ft,memory:{array:ka},const:!0}),Ra(rs,{memory:{array:Ts},handle:34}),Ra(ss,{slots:{0:as}}),Ra(as,{structure:pt,memory:{array:xa},const:!0}),Ra(gs,{memory:{array:Ts},handle:34}),Ra(os,{slots:{0:Is}}),Ra(Is,{structure:St,memory:{array:Ga},const:!0}),Ra(cs,{memory:{array:Ts},handle:41}),Ra(Qs,{memory:{array:Ts},handle:25}),Ra(ls,{slots:{0:Cs}}),Ra(Cs,{structure:Ft,memory:{array:Ma},const:!0}),Ra(Bs,{slots:{0:us,1:Es}}),Ra(us,{structure:Jt,memory:{array:Fa},const:!0}),Ra(Es,{structure:Jt,memory:{array:Ua},const:!0}),Ra(fs,{memory:{array:Ts},handle:42}),Ra(ys,{slots:{0:hs}}),Ra(hs,{structure:Rt,memory:{array:Ja},const:!0}),Ra(ms,{memory:{array:La}}),Ra(ps,{memory:{array:Ts},handle:43}),Ra(bs,{slots:{0:ds,1:ws,2:Ss,3:Ds,4:vs,5:zs,6:ks,7:xs,8:Gs,9:Ms,10:Fs,11:Us,12:Js,13:Ls,14:Ns,15:Rs,16:Os,17:qs,18:Ks,19:Ys,20:_s,21:Ps,22:Vs}}),Ra(ds,{structure:oA,memory:{array:Ts},handle:2}),Ra(ws,{structure:fA,memory:{array:Ts},handle:3}),Ra(Ss,{structure:bA,memory:{array:Ts},handle:4}),Ra(Ds,{structure:MA,memory:{array:Ts},handle:5}),Ra(vs,{structure:m,memory:{array:Na},const:!0}),Ra(zs,{structure:Pe,memory:{array:Ts},handle:6}),Ra(ks,{structure:Ze,memory:{array:Ts},handle:7}),Ra(xs,{structure:$e,memory:{array:Ts},handle:8}),Ra(Gs,{structure:it,memory:{array:Ts},handle:9}),Ra(Ms,{structure:hA,memory:{array:Ts},handle:10}),Ra(Fs,{structure:at,memory:{array:Ts},handle:11}),Ra(Us,{structure:ct,memory:{array:Ts},handle:12}),Ra(Js,{structure:lt,memory:{array:Ts},handle:13}),Ra(Ls,{structure:Et,memory:{array:Ts},handle:14}),Ra(Ns,{structure:mt,memory:{array:Ts},handle:15}),Ra(Rs,{structure:wt,memory:{array:Ts},handle:16}),Ra(Os,{structure:kA,memory:{array:Ts},handle:17}),Ra(qs,{structure:zt,memory:{array:Ts},handle:18}),Ra(Ks,{structure:kA,memory:{array:Ts},handle:19}),Ra(Ys,{structure:Mt,memory:{array:Ts},handle:20}),Ra(_s,{structure:Nt,memory:{array:Ts},handle:21}),Ra(Ps,{structure:kA,memory:{array:Ts},handle:22}),Ra(Vs,{structure:Tt,memory:{array:Ts},handle:23}),Ra(s,{...A,flags:1,signature:0xa310b7d01f11b8can,name:"void",align:1,instance:{members:[{...r,bitOffset:0,bitSize:0,byteSize:0,structure:s}]}}),Ra(a,{...A,flags:1,signature:0x61e77abe97c52d51n,name:"f32",byteSize:4,align:4,instance:{members:[{...r,type:4,bitOffset:0,bitSize:32,byteSize:4,structure:a}]}}),Ra(g,{...A,type:12,flags:10,signature:0x207e329602a86755n,name:"Arg(fn (Point, Point) Point)",length:2,byteSize:24,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:0,name:"retval",structure:C},{...r,type:5,flags:1,bitOffset:64,bitSize:64,byteSize:8,slot:1,name:"0",structure:C},{...r,type:5,flags:1,bitOffset:128,bitSize:64,byteSize:8,slot:2,name:"1",structure:C}]}}),Ra(o,{...A,type:14,signature:0x8e48777d39cc425en,name:"fn (Point, Point) Point",length:2,instance:{members:[{...r,type:5,bitSize:192,byteSize:24,structure:g}],template:jt}}),Ra(I,{...A,type:12,flags:10,signature:0x61503e2c040eea30n,name:"Arg(fn (Point, Point) f32)",length:2,byteSize:20,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"retval",structure:a},{...r,type:5,flags:1,bitOffset:32,bitSize:64,byteSize:8,slot:1,name:"0",structure:C},{...r,type:5,flags:1,bitOffset:96,bitSize:64,byteSize:8,slot:2,name:"1",structure:C}]}}),Ra(c,{...A,type:14,signature:0x18a1631fcf9c9650n,name:"fn (Point, Point) f32",length:2,instance:{members:[{...r,type:5,bitSize:160,byteSize:20,structure:I}],template:Xt}}),Ra(Q,{...A,type:12,flags:10,signature:0x8413fe22a0ec1c90n,name:"Arg(fn (Point) Point)",length:1,byteSize:16,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:0,name:"retval",structure:C},{...r,type:5,flags:1,bitOffset:64,bitSize:64,byteSize:8,slot:1,name:"0",structure:C}]}}),Ra(l,{...A,type:14,signature:0x64ad1835b1055f17n,name:"fn (Point) Point",length:1,instance:{members:[{...r,type:5,bitSize:128,byteSize:16,structure:Q}],template:Wt}}),Ra(C,{...A,type:2,flags:16,signature:0xc6238f223c317b90n,name:"Point",byteSize:8,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"x",structure:a},{...r,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"y",structure:a}],template:$t},static:{members:[{...r,type:5,flags:18,slot:0,name:"mid",structure:o},{...r,type:5,flags:18,slot:2,name:"distance",structure:c},{...r,type:5,flags:18,slot:3,name:"diff",structure:o},{...r,type:5,flags:18,slot:4,name:"clone",structure:l}],template:Ai}}),Ra(B,{...A,type:12,flags:10,signature:0x8d352bb77a26e612n,name:"Arg(fn (PointUV, PointUV) Point)",length:2,byteSize:40,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:0,name:"retval",structure:C},{...r,type:5,flags:1,bitOffset:64,bitSize:128,byteSize:16,slot:1,name:"0",structure:y},{...r,type:5,flags:1,bitOffset:192,bitSize:128,byteSize:16,slot:2,name:"1",structure:y}]}}),Ra(u,{...A,type:14,signature:0x0f1df05e0d01db92n,name:"fn (PointUV, PointUV) Point",length:2,instance:{members:[{...r,type:5,bitSize:320,byteSize:40,structure:B}],template:ri}}),Ra(E,{...A,type:12,flags:10,signature:0x9961a28ae296031fn,name:"Arg(fn (PointUV, PointUV) f32)",length:2,byteSize:36,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"retval",structure:a},{...r,type:5,flags:1,bitOffset:32,bitSize:128,byteSize:16,slot:1,name:"0",structure:y},{...r,type:5,flags:1,bitOffset:160,bitSize:128,byteSize:16,slot:2,name:"1",structure:y}]}}),Ra(f,{...A,type:14,signature:0xb56a381f65765bdcn,name:"fn (PointUV, PointUV) f32",length:2,instance:{members:[{...r,type:5,bitSize:288,byteSize:36,structure:E}],template:si}}),Ra(y,{...A,type:2,flags:16,signature:0x526f11b57045ab14n,name:"PointUV",byteSize:16,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"x",structure:a},{...r,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"y",structure:a},{...r,type:4,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"u",structure:a},{...r,type:4,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"v",structure:a}],template:ai},static:{members:[{...r,type:5,flags:18,slot:0,name:"mid",structure:u},{...r,type:5,flags:18,slot:1,name:"angle_to",structure:f},{...r,type:5,flags:18,slot:2,name:"distance",structure:f}],template:gi}}),Ra(h,{...A,type:1,flags:10,signature:0x3ee5e4424cbe9410n,name:"[6]PointUV",length:6,byteSize:96,align:4,instance:{members:[{...r,type:5,bitSize:128,byteSize:16,structure:y}]}}),Ra(m,{...A,flags:1,signature:0x68598db431a811a3n,name:"u32",byteSize:4,align:4,instance:{members:[{...r,type:3,bitOffset:0,bitSize:32,byteSize:4,structure:m}]}}),Ra(p,{...A,type:12,flags:10,signature:0x20d5e187b003a7fen,name:"Arg(fn ([6]PointUV, u32) void)",length:2,byteSize:100,align:4,instance:{members:[{...r,flags:1,bitOffset:800,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:768,byteSize:96,slot:1,name:"0",structure:h},{...r,type:3,flags:1,bitOffset:768,bitSize:32,byteSize:4,slot:2,name:"1",structure:m}]}}),Ra(b,{...A,type:14,signature:0x587e2b72fe4f7519n,name:"fn ([6]PointUV, u32) void",length:2,instance:{members:[{...r,type:5,bitSize:800,byteSize:100,structure:p}],template:Qi},static:{members:[],template:li}}),Ra(d,{...A,type:8,flags:204,signature:0x5ed530af4a7bcf1dn,name:"*const fn ([6]PointUV, u32) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:b}]}}),Ra(w,{...A,flags:1,signature:0x370ee22b85937307n,name:"u8",byteSize:1,align:1,instance:{members:[{...r,type:3,bitOffset:0,bitSize:8,byteSize:1,structure:w}]}}),Ra(S,{...A,type:1,flags:224,signature:0x72a0d50910cc3369n,name:"[4]u8",length:4,byteSize:4,align:1,instance:{members:[{...r,type:3,bitSize:8,byteSize:1,structure:w}]}}),Ra(D,{...A,type:1,flags:64,signature:0x965d25e134612060n,name:"[3]f32",length:3,byteSize:12,align:4,instance:{members:[{...r,type:4,bitSize:32,byteSize:4,structure:a}]}}),Ra(v,{...A,type:2,flags:26,signature:0x192d6f39fdd42e6en,name:"DrawInstance",byteSize:64,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:128,byteSize:16,slot:0,name:"p0",structure:y},{...r,type:5,flags:1,bitOffset:128,bitSize:128,byteSize:16,slot:1,name:"p1",structure:y},{...r,type:5,flags:1,bitOffset:256,bitSize:128,byteSize:16,slot:2,name:"p2",structure:y},{...r,type:5,flags:1,bitOffset:384,bitSize:32,byteSize:4,slot:3,name:"color",structure:S},{...r,type:5,flags:1,bitOffset:416,bitSize:96,byteSize:12,slot:4,name:"radius",structure:D}],template:Ci}}),Ra(z,{...A,type:9,flags:10,signature:0x914ee09efb47cbf7n,name:"[_]DrawInstance",byteSize:64,align:4,instance:{members:[{...r,type:5,bitSize:512,byteSize:64,structure:v}]}}),Ra(k,{...A,type:8,flags:188,signature:0x39778fa380da3875n,name:"[]const DrawInstance",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:z}]}}),Ra(x,{...A,type:12,flags:14,signature:0x93ffc88e8c95765dn,name:"Arg(fn ([]const DrawInstance) void)",length:1,byteSize:8,align:4,instance:{members:[{...r,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:k}]}}),Ra(G,{...A,type:14,signature:0xe9f243b3e4ecde6cn,name:"fn ([]const DrawInstance) void",length:1,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:x}],template:Bi},static:{members:[],template:ui}}),Ra(M,{...A,type:8,flags:204,signature:0xffb0918139c04f1an,name:"*const fn ([]const DrawInstance) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:G}]}}),Ra(F,{...A,type:9,flags:10,signature:0xc2e8551856512494n,name:"[_]Point",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:C}]}}),Ra(U,{...A,type:8,flags:188,signature:0x04fa74127b6acc09n,name:"[]const Point",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:F}]}}),Ra(J,{...A,type:1,flags:64,signature:0x55b5c2c225a6545bn,name:"[4]f32",length:4,byteSize:16,align:4,instance:{members:[{...r,type:4,bitSize:32,byteSize:4,structure:a}]}}),Ra(L,{...A,type:2,flags:26,signature:0x40db7c567416c304n,name:"Uniform",byteSize:48,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"stroke_width",structure:a},{...r,type:5,bitOffset:32,bitSize:96,byteSize:12,slot:1,name:"padding",structure:D},{...r,type:5,flags:1,bitOffset:128,bitSize:128,byteSize:16,slot:2,name:"fill_color",structure:J},{...r,type:5,flags:1,bitOffset:256,bitSize:128,byteSize:16,slot:3,name:"stroke_color",structure:J}],template:Ei}}),Ra(N,{...A,type:12,flags:14,signature:0x2e1c0405c0ec4674n,name:"Arg(fn ([]const Point, []const Point, Uniform) void)",length:3,byteSize:64,align:4,instance:{members:[{...r,flags:1,bitOffset:512,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:U},{...r,type:5,flags:1,bitOffset:64,bitSize:64,byteSize:8,slot:2,name:"1",structure:U},{...r,type:5,flags:1,bitOffset:128,bitSize:384,byteSize:48,slot:3,name:"2",structure:L}]}}),Ra(R,{...A,type:14,signature:0x154194cf2431a077n,name:"fn ([]const Point, []const Point, Uniform) void",length:3,instance:{members:[{...r,type:5,bitSize:512,byteSize:64,structure:N}],template:fi},static:{members:[],template:yi}}),Ra(O,{...A,type:8,flags:204,signature:0xa85eca8385440e49n,name:"*const fn ([]const Point, []const Point, Uniform) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:R}]}}),Ra(q,{...A,type:1,flags:10,signature:0x578493b95a018f7en,name:"[3]PointUV",length:3,byteSize:48,align:4,instance:{members:[{...r,type:5,bitSize:128,byteSize:16,structure:y}]}}),Ra(K,{...A,type:2,flags:26,signature:0xca530755a22a998en,name:"DrawInstance",byteSize:52,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:384,byteSize:48,slot:0,name:"points",structure:q},{...r,type:5,flags:1,bitOffset:384,bitSize:32,byteSize:4,slot:1,name:"color",structure:S}],template:hi}}),Ra(Y,{...A,type:9,flags:10,signature:0x27b89a18d30e0640n,name:"[_]DrawInstance",byteSize:52,align:4,instance:{members:[{...r,type:5,bitSize:416,byteSize:52,structure:K}]}}),Ra(_,{...A,type:8,flags:188,signature:0x3afc30e1a57b269dn,name:"[]const DrawInstance",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:Y}]}}),Ra(P,{...A,type:12,flags:14,signature:0xd193affba67924f3n,name:"Arg(fn ([]const DrawInstance, u32) void)",length:2,byteSize:12,align:4,instance:{members:[{...r,flags:1,bitOffset:96,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:_},{...r,type:3,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"1",structure:m}]}}),Ra(V,{...A,type:14,signature:0xfaf2e98b5e6103a0n,name:"fn ([]const DrawInstance, u32) void",length:2,instance:{members:[{...r,type:5,bitSize:96,byteSize:12,structure:P}],template:mi},static:{members:[],template:pi}}),Ra(H,{...A,type:8,flags:204,signature:0xd75553fb178caa01n,name:"*const fn ([]const DrawInstance, u32) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:V}]}}),Ra(T,{...A,type:2,flags:26,signature:0x51c81ec013b825c3n,name:"PickVertex",byteSize:20,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:128,byteSize:16,slot:0,name:"point",structure:y},{...r,type:3,flags:1,bitOffset:128,bitSize:32,byteSize:4,slot:1,name:"id",structure:m}],template:bi}}),Ra(Z,{...A,type:9,flags:10,signature:0x76ed8f1f33009424n,name:"[_]PickVertex",byteSize:20,align:4,instance:{members:[{...r,type:5,bitSize:160,byteSize:20,structure:T}]}}),Ra(j,{...A,type:8,flags:188,signature:0x545dbe9066b56a76n,name:"[]const PickVertex",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:Z}]}}),Ra(X,{...A,type:12,flags:14,signature:0x31c024438eabbf73n,name:"Arg(fn ([]const PickVertex, u32) void)",length:2,byteSize:12,align:4,instance:{members:[{...r,flags:1,bitOffset:96,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:j},{...r,type:3,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"1",structure:m}]}}),Ra(W,{...A,type:14,signature:0xded0b6d1acc2290dn,name:"fn ([]const PickVertex, u32) void",length:2,instance:{members:[{...r,type:5,bitSize:96,byteSize:12,structure:X}],template:di},static:{members:[],template:wi}}),Ra($,{...A,type:8,flags:204,signature:0x187686ea5958f7abn,name:"*const fn ([]const PickVertex, u32) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:W}]}}),Ra(AA,{...A,type:2,flags:26,signature:0xfcafa76b343a3caan,name:"PickInstance",byteSize:64,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:128,byteSize:16,slot:0,name:"p0",structure:y},{...r,type:5,flags:1,bitOffset:128,bitSize:128,byteSize:16,slot:1,name:"p1",structure:y},{...r,type:5,flags:1,bitOffset:256,bitSize:128,byteSize:16,slot:2,name:"p2",structure:y},{...r,type:3,flags:1,bitOffset:384,bitSize:32,byteSize:4,slot:3,name:"id",structure:m},{...r,type:5,flags:1,bitOffset:416,bitSize:96,byteSize:12,slot:4,name:"radius",structure:D}],template:Si}}),Ra(eA,{...A,type:9,flags:10,signature:0xe76a506318e15bf2n,name:"[_]PickInstance",byteSize:64,align:4,instance:{members:[{...r,type:5,bitSize:512,byteSize:64,structure:AA}]}}),Ra(tA,{...A,type:8,flags:188,signature:0x22b542680e155723n,name:"[]const PickInstance",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:eA}]}}),Ra(iA,{...A,type:12,flags:14,signature:0x601e644054b52458n,name:"Arg(fn ([]const PickInstance) void)",length:1,byteSize:8,align:4,instance:{members:[{...r,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:tA}]}}),Ra(nA,{...A,type:14,signature:0xaf76c83133419af9n,name:"fn ([]const PickInstance) void",length:1,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:iA}],template:Di},static:{members:[],template:vi}}),Ra(rA,{...A,type:8,flags:204,signature:0xcf1430f10b87a1e6n,name:"*const fn ([]const PickInstance) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:nA}]}}),Ra(sA,{...A,type:2,flags:14,signature:0xa7404041cce4d7e4n,name:"WebGpuPrograms",byteSize:24,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"draw_texture",structure:d},{...r,type:5,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"draw_triangle",structure:M},{...r,type:5,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"draw_shape",structure:O},{...r,type:5,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"draw_msdf",structure:H},{...r,type:5,flags:1,bitOffset:128,bitSize:32,byteSize:4,slot:4,name:"pick_texture",structure:$},{...r,type:5,flags:1,bitOffset:160,bitSize:32,byteSize:4,slot:5,name:"pick_triangle",structure:rA}],template:zi}}),Ra(aA,{...A,type:8,flags:204,signature:0x4b97e7b342dc0e95n,name:"*const WebGpuPrograms",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:sA}]}}),Ra(gA,{...A,type:12,flags:14,signature:0xc8c21ceda7f04e6en,name:"Arg(fn (*const WebGpuPrograms) void)",length:1,byteSize:4,align:4,instance:{members:[{...r,flags:1,bitOffset:32,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:aA}]}}),Ra(oA,{...A,type:14,signature:0xc7d4865a224e46d2n,name:"fn (*const WebGpuPrograms) void",length:1,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,structure:gA}],template:Ki}}),Ra(IA,{...A,type:1,flags:10,signature:0x009c896a0d8f3812n,name:"[4]PointUV",length:4,byteSize:64,align:4,instance:{members:[{...r,type:5,bitSize:128,byteSize:16,structure:y}]}}),Ra(cA,{...A,type:2,flags:10,signature:0xf467acfa8faba0b0n,name:"Serialized",byteSize:72,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:512,byteSize:64,slot:0,name:"points",structure:IA},{...r,type:3,flags:1,bitOffset:512,bitSize:32,byteSize:4,slot:1,name:"texture_id",structure:m},{...r,type:3,flags:1,bitOffset:544,bitSize:32,byteSize:4,slot:2,name:"id",structure:m}],template:Yi}}),Ra(QA,{...A,type:9,flags:10,signature:0xf4147de9f73841b8n,name:"[_]Serialized",byteSize:72,align:4,instance:{members:[{...r,type:5,bitSize:576,byteSize:72,structure:cA}]}}),Ra(lA,{...A,type:8,flags:188,signature:0x6028753cdbfc756dn,name:"[]const Serialized",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:QA}]}}),Ra(CA,{...A,type:12,flags:14,signature:0x5982668a5988d984n,name:"Arg(fn ([]const Serialized) void)",length:1,byteSize:8,align:4,instance:{members:[{...r,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:lA}]}}),Ra(BA,{...A,type:14,signature:0xb8beaa701eeeab6fn,name:"fn ([]const Serialized) void",length:1,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:CA}],template:_i},static:{members:[],template:Pi}}),Ra(uA,{...A,type:8,flags:204,signature:0x81bdb14af0e0d208n,name:"*const fn ([]const Serialized) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:BA}]}}),Ra(EA,{...A,type:12,flags:14,signature:0x4b3fe0b344fb2b2dn,name:"Arg(fn (*const fn ([]const Serialized) void) void)",length:1,byteSize:4,align:4,instance:{members:[{...r,flags:1,bitOffset:32,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:uA}]}}),Ra(fA,{...A,type:14,signature:0x2bc578db12d8c717n,name:"fn (*const fn ([]const Serialized) void) void",length:1,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,structure:EA}],template:Vi}}),Ra(yA,{...A,type:12,signature:0x6364608841bf263en,name:"Arg(fn (u32) void)",length:1,byteSize:4,align:4,instance:{members:[{...r,flags:1,bitOffset:32,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:m}]}}),Ra(hA,{...A,type:14,signature:0x956e45a1c96ff5e6n,name:"fn (u32) void",length:1,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,structure:yA}],template:Hi},static:{members:[],template:Ti}}),Ra(mA,{...A,type:8,flags:204,signature:0x139c4e15eb0a34d6n,name:"*const fn (u32) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:hA}]}}),Ra(pA,{...A,type:12,flags:14,signature:0xfaa14a525ee0f8d4n,name:"Arg(fn (*const fn (u32) void) void)",length:1,byteSize:4,align:4,instance:{members:[{...r,flags:1,bitOffset:32,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:mA}]}}),Ra(bA,{...A,type:14,signature:0x651c6f0337fe6099n,name:"fn (*const fn (u32) void) void",length:1,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,structure:pA}],template:Zi}}),Ra(dA,{...A,type:7,flags:17,signature:0x6a0f688da3728775n,name:"?u32",byteSize:8,align:4,instance:{members:[{...r,type:3,bitOffset:0,bitSize:32,byteSize:4,slot:0,structure:m},{...r,type:3,flags:8,bitOffset:32,bitSize:8,byteSize:1,structure:w}]}}),Ra(wA,{...A,type:2,signature:0x57847e8f0b7a3a1fn,name:"BoundingBox",byteSize:16,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"min_x",structure:a},{...r,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"min_y",structure:a},{...r,type:4,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"max_x",structure:a},{...r,type:4,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"max_y",structure:a}],template:ji}}),Ra(SA,{...A,type:12,flags:10,signature:0x147e6bb004780a90n,name:"Arg(fn (?u32, BoundingBox, f32, f32) u32)",length:4,byteSize:36,align:4,instance:{members:[{...r,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"retval",structure:m},{...r,type:5,flags:1,bitOffset:32,bitSize:64,byteSize:8,slot:1,name:"0",structure:dA},{...r,type:5,flags:1,bitOffset:96,bitSize:128,byteSize:16,slot:2,name:"1",structure:wA},{...r,type:4,flags:1,bitOffset:224,bitSize:32,byteSize:4,slot:3,name:"2",structure:a},{...r,type:4,flags:1,bitOffset:256,bitSize:32,byteSize:4,slot:4,name:"3",structure:a}]}}),Ra(DA,{...A,type:14,signature:0xea27980e864495d8n,name:"fn (?u32, BoundingBox, f32, f32) u32",length:4,instance:{members:[{...r,type:5,bitSize:288,byteSize:36,structure:SA}],template:Xi},static:{members:[],template:Wi}}),Ra(vA,{...A,type:8,flags:204,signature:0x827a5e85f379e86cn,name:"*const fn (?u32, BoundingBox, f32, f32) u32",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:DA}]}}),Ra(zA,{...A,type:12,signature:0xfa22378c989ae19dn,name:"Arg(fn () void)",length:0,align:1,instance:{members:[{...r,flags:1,bitOffset:0,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s}]}}),Ra(kA,{...A,type:14,signature:0xe3c3b022a28cd076n,name:"fn () void",length:0,instance:{members:[{...r,type:5,bitSize:0,byteSize:0,structure:zA}],template:$i},static:{members:[],template:An}}),Ra(xA,{...A,type:8,flags:204,signature:0xd7880dadce515974n,name:"*const fn () void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:kA}]}}),Ra(GA,{...A,type:12,flags:14,signature:0x8a236472578c7a3dn,name:"Arg(fn (*const fn (?u32, BoundingBox, f32, f32) u32, *const fn () void) void)",length:2,byteSize:8,align:4,instance:{members:[{...r,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:vA},{...r,type:5,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:2,name:"1",structure:xA}]}}),Ra(MA,{...A,type:14,signature:0x92a9e06d395eda27n,name:"fn (*const fn (?u32, BoundingBox, f32, f32) u32, *const fn () void) void",length:2,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:GA}],template:en}}),Ra(FA,{...A,type:9,flags:480,signature:0x9b3f78f92307ba61n,name:"anyopaque",byteSize:void 0,align:void 0,instance:{members:[{...r,type:3,bitSize:8,byteSize:1,structure:w}]}}),Ra(UA,{...A,type:8,flags:332,signature:0x4057fadddf1d8877n,name:"*opaque",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:FA}]}}),Ra(JA,{...A,type:9,flags:224,signature:0x9b3f78f92307ba61n,name:"[_]u8",byteSize:1,align:1,instance:{members:[{...r,type:3,bitSize:8,byteSize:1,structure:w}]}}),Ra(LA,{...A,type:8,flags:44,signature:0xdc4e40b42e2be1a4n,name:"[*]u8",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:JA}]}}),Ra(NA,{...A,flags:17,signature:0xad790f74c7d61933n,name:"usize",byteSize:4,align:4,instance:{members:[{...r,type:3,bitOffset:0,bitSize:32,byteSize:4,structure:NA}]}}),Ra(RA,{...A,type:7,flags:15,signature:0x46d9c68a3fe0a71cn,name:"?[*]u8",byteSize:4,align:4,instance:{members:[{...r,type:5,bitOffset:0,bitSize:32,byteSize:4,slot:0,structure:LA},{...r,type:3,flags:8,bitOffset:0,bitSize:32,byteSize:4,structure:NA}]}}),Ra(OA,{...A,type:12,signature:0xde13efb989eab233n,name:"Arg(fn (Alignment) usize)",length:1,byteSize:8,align:4,instance:{members:[{...r,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"retval",structure:NA},{...r,type:3,flags:1,bitOffset:32,bitSize:5,byteSize:1,slot:1,name:"0",structure:Qe}]}}),Ra(qA,{...A,type:14,signature:0x511f3836ff34e93an,name:"fn (Alignment) usize",length:1,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:OA}],template:tn}}),Ra(KA,{...A,type:12,signature:0x3d33381cd47940b4n,name:"Arg(fn (usize) Alignment)",length:1,byteSize:8,align:4,instance:{members:[{...r,type:3,flags:1,bitOffset:32,bitSize:5,byteSize:1,slot:0,name:"retval",structure:Qe},{...r,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:NA}]}}),Ra(YA,{...A,type:14,signature:0x950458df9df4743bn,name:"fn (usize) Alignment",length:1,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:KA}],template:nn}}),Ra(_A,{...A,type:12,signature:0xa358945228ebaff3n,name:"Arg(fn (Order) Order)",length:1,byteSize:2,align:1,instance:{members:[{...r,type:3,flags:1,bitOffset:0,bitSize:2,byteSize:1,slot:0,name:"retval",structure:ee},{...r,type:3,flags:1,bitOffset:8,bitSize:2,byteSize:1,slot:1,name:"0",structure:ee}]}}),Ra(PA,{...A,type:14,signature:0x09217ef45d6a5583n,name:"fn (Order) Order",length:1,instance:{members:[{...r,type:5,bitSize:16,byteSize:2,structure:_A}],template:rn}}),Ra(VA,{...A,type:7,flags:17,signature:0x45d6d2728e09761bn,name:"?Order",byteSize:2,align:1,instance:{members:[{...r,type:3,bitOffset:0,bitSize:2,byteSize:1,slot:0,structure:ee},{...r,type:3,flags:8,bitOffset:8,bitSize:8,byteSize:1,structure:w}]}}),Ra(HA,{...A,type:12,flags:10,signature:0x818dc2d151e5b733n,name:"Arg(fn (Order) ?Order)",length:1,byteSize:3,align:1,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:0,name:"retval",structure:VA},{...r,type:3,flags:1,bitOffset:16,bitSize:2,byteSize:1,slot:1,name:"0",structure:ee}]}}),Ra(TA,{...A,type:14,signature:0x54ab34151663d188n,name:"fn (Order) ?Order",length:1,instance:{members:[{...r,type:5,bitSize:24,byteSize:3,structure:HA}],template:sn}}),Ra(ZA,{...A,flags:1,signature:0x6eddab4b13ff06c5n,name:"bool",byteSize:1,align:1,instance:{members:[{...r,type:1,bitOffset:0,bitSize:1,byteSize:1,structure:ZA}]}}),Ra(jA,{...A,type:12,signature:0xb4bc84552cdf048fn,name:"Arg(fn (CompareOperator) CompareOperator)",length:1,byteSize:2,align:1,instance:{members:[{...r,type:3,flags:1,bitOffset:0,bitSize:3,byteSize:1,slot:0,name:"retval",structure:WA},{...r,type:3,flags:1,bitOffset:8,bitSize:3,byteSize:1,slot:1,name:"0",structure:WA}]}}),Ra(XA,{...A,type:14,signature:0x7614c9fef669bdabn,name:"fn (CompareOperator) CompareOperator",length:1,instance:{members:[{...r,type:5,bitSize:16,byteSize:2,structure:jA}],template:an}}),Ra(WA,{...A,type:6,flags:1,signature:0x89697612f8e25e90n,name:"CompareOperator",byteSize:1,align:1,instance:{members:[{...r,type:3,bitOffset:0,bitSize:3,byteSize:1,structure:WA}]},static:{members:[{...r,type:5,flags:18,slot:0,name:"reverse",structure:XA},{...r,type:5,flags:4,slot:1,name:"lt",structure:WA},{...r,type:5,flags:4,slot:2,name:"lte",structure:WA},{...r,type:5,flags:4,slot:3,name:"eq",structure:WA},{...r,type:5,flags:4,slot:4,name:"gte",structure:WA},{...r,type:5,flags:4,slot:5,name:"gt",structure:WA},{...r,type:5,flags:4,slot:6,name:"neq",structure:WA}],template:gn}}),Ra($A,{...A,type:12,signature:0xacf11acba856b940n,name:"Arg(fn (Order, CompareOperator) bool)",length:2,byteSize:3,align:1,instance:{members:[{...r,type:1,flags:1,bitOffset:0,bitSize:1,byteSize:1,slot:0,name:"retval",structure:ZA},{...r,type:3,flags:1,bitOffset:8,bitSize:2,byteSize:1,slot:1,name:"0",structure:ee},{...r,type:3,flags:1,bitOffset:16,bitSize:3,byteSize:1,slot:2,name:"1",structure:WA}]}}),Ra(Ae,{...A,type:14,signature:0xf27159573848fb68n,name:"fn (Order, CompareOperator) bool",length:2,instance:{members:[{...r,type:5,bitSize:24,byteSize:3,structure:$A}],template:un}}),Ra(ee,{...A,type:6,flags:1,signature:0x1aec8487f6280122n,name:"Order",byteSize:1,align:1,instance:{members:[{...r,type:3,bitOffset:0,bitSize:2,byteSize:1,structure:ee}]},static:{members:[{...r,type:5,flags:18,slot:0,name:"invert",structure:PA},{...r,type:5,flags:18,slot:1,name:"differ",structure:TA},{...r,type:5,flags:18,slot:2,name:"compare",structure:Ae},{...r,type:5,flags:4,slot:3,name:"gt",structure:ee},{...r,type:5,flags:4,slot:4,name:"lt",structure:ee},{...r,type:5,flags:4,slot:5,name:"eq",structure:ee}],template:En}}),Ra(te,{...A,type:12,signature:0xf2ead49fdfa38e2bn,name:"Arg(fn (Alignment, Alignment) Order)",length:2,byteSize:3,align:1,instance:{members:[{...r,type:3,flags:1,bitOffset:0,bitSize:2,byteSize:1,slot:0,name:"retval",structure:ee},{...r,type:3,flags:1,bitOffset:8,bitSize:5,byteSize:1,slot:1,name:"0",structure:Qe},{...r,type:3,flags:1,bitOffset:16,bitSize:5,byteSize:1,slot:2,name:"1",structure:Qe}]}}),Ra(ie,{...A,type:14,signature:0xf13cee4b7fda58c4n,name:"fn (Alignment, Alignment) Order",length:2,instance:{members:[{...r,type:5,bitSize:24,byteSize:3,structure:te}],template:dn}}),Ra(ne,{...A,type:12,signature:0x05739b3b38be1fe7n,name:"Arg(fn (Alignment, CompareOperator, Alignment) bool)",length:3,byteSize:4,align:1,instance:{members:[{...r,type:1,flags:1,bitOffset:0,bitSize:1,byteSize:1,slot:0,name:"retval",structure:ZA},{...r,type:3,flags:1,bitOffset:8,bitSize:5,byteSize:1,slot:1,name:"0",structure:Qe},{...r,type:3,flags:1,bitOffset:16,bitSize:3,byteSize:1,slot:2,name:"1",structure:WA},{...r,type:3,flags:1,bitOffset:24,bitSize:5,byteSize:1,slot:3,name:"2",structure:Qe}]}}),Ra(re,{...A,type:14,signature:0x5fb140f1464d545dn,name:"fn (Alignment, CompareOperator, Alignment) bool",length:3,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,structure:ne}],template:wn}}),Ra(se,{...A,type:12,signature:0x19f9b9e423c9240bn,name:"Arg(fn (Alignment, Alignment) Alignment)",length:2,byteSize:3,align:1,instance:{members:[{...r,type:3,flags:1,bitOffset:0,bitSize:5,byteSize:1,slot:0,name:"retval",structure:Qe},{...r,type:3,flags:1,bitOffset:8,bitSize:5,byteSize:1,slot:1,name:"0",structure:Qe},{...r,type:3,flags:1,bitOffset:16,bitSize:5,byteSize:1,slot:2,name:"1",structure:Qe}]}}),Ra(ae,{...A,type:14,signature:0x502383542de53673n,name:"fn (Alignment, Alignment) Alignment",length:2,instance:{members:[{...r,type:5,bitSize:24,byteSize:3,structure:se}],template:Sn}}),Ra(ge,{...A,type:12,signature:0x84835b8f7162244fn,name:"Arg(fn (Alignment, usize) usize)",length:2,byteSize:12,align:4,instance:{members:[{...r,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"retval",structure:NA},{...r,type:3,flags:1,bitOffset:64,bitSize:5,byteSize:1,slot:1,name:"0",structure:Qe},{...r,type:3,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:2,name:"1",structure:NA}]}}),Ra(oe,{...A,type:14,signature:0xf22d521b6289ec09n,name:"fn (Alignment, usize) usize",length:2,instance:{members:[{...r,type:5,bitSize:96,byteSize:12,structure:ge}],template:Dn}}),Ra(Ie,{...A,type:12,signature:0x053c5d5cf40c778fn,name:"Arg(fn (Alignment, usize) bool)",length:2,byteSize:8,align:4,instance:{members:[{...r,type:1,flags:1,bitOffset:32,bitSize:1,byteSize:1,slot:0,name:"retval",structure:ZA},{...r,type:3,flags:1,bitOffset:40,bitSize:5,byteSize:1,slot:1,name:"0",structure:Qe},{...r,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:2,name:"1",structure:NA}]}}),Ra(ce,{...A,type:14,signature:0xc152dfb87eadb0b4n,name:"fn (Alignment, usize) bool",length:2,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:Ie}],template:vn}}),Ra(Qe,{...A,type:6,flags:17,signature:0x585b7f21a11e5af0n,name:"Alignment",byteSize:1,align:1,instance:{members:[{...r,type:3,bitOffset:0,bitSize:5,byteSize:1,structure:Qe}]},static:{members:[{...r,type:5,flags:18,slot:0,name:"toByteUnits",structure:qA},{...r,type:5,flags:2,slot:1,name:"fromByteUnits",structure:YA},{...r,type:5,flags:18,slot:2,name:"order",structure:ie},{...r,type:5,flags:18,slot:3,name:"compare",structure:re},{...r,type:5,flags:18,slot:4,name:"max",structure:ae},{...r,type:5,flags:18,slot:5,name:"min",structure:ae},{...r,type:5,flags:18,slot:6,name:"forward",structure:oe},{...r,type:5,flags:18,slot:7,name:"backward",structure:oe},{...r,type:5,flags:18,slot:8,name:"check",structure:ce},{...r,type:5,flags:4,slot:9,name:"1",structure:Qe},{...r,type:5,flags:4,slot:10,name:"2",structure:Qe},{...r,type:5,flags:4,slot:11,name:"4",structure:Qe},{...r,type:5,flags:4,slot:12,name:"8",structure:Qe},{...r,type:5,flags:4,slot:13,name:"16",structure:Qe},{...r,type:5,flags:4,slot:14,name:"32",structure:Qe},{...r,type:5,flags:4,slot:15,name:"64",structure:Qe}],template:zn}}),Ra(le,{...A,type:12,flags:14,signature:0xe9635dad30c6baf7n,name:"Arg(fn (*opaque, usize, Alignment, usize) ?[*]u8)",length:4,byteSize:20,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"retval",structure:RA},{...r,type:5,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"0",structure:UA},{...r,type:3,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"1",structure:NA},{...r,type:3,flags:1,bitOffset:128,bitSize:5,byteSize:1,slot:3,name:"2",structure:Qe},{...r,type:3,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:4,name:"3",structure:NA}]}}),Ra(Ce,{...A,type:14,signature:0xbed86186ab27c14cn,name:"fn (*opaque, usize, Alignment, usize) ?[*]u8",length:4,instance:{members:[{...r,type:5,bitSize:160,byteSize:20,structure:le}],template:Vn},static:{members:[],template:Hn}}),Ra(Be,{...A,type:8,flags:204,signature:0x4e622a40d4cd5ff1n,name:"*const fn (*opaque, usize, Alignment, usize) ?[*]u8",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:Ce}]}}),Ra(ue,{...A,type:8,flags:60,signature:0x559135659a0a19ean,name:"[]u8",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:JA}]}}),Ra(Ee,{...A,type:12,flags:14,signature:0xcdf6dc4e0de8422cn,name:"Arg(fn (*opaque, []u8, Alignment, usize, usize) bool)",length:5,byteSize:24,align:4,instance:{members:[{...r,type:1,flags:1,bitOffset:160,bitSize:1,byteSize:1,slot:0,name:"retval",structure:ZA},{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:UA},{...r,type:5,flags:1,bitOffset:32,bitSize:64,byteSize:8,slot:2,name:"1",structure:ue},{...r,type:3,flags:1,bitOffset:168,bitSize:5,byteSize:1,slot:3,name:"2",structure:Qe},{...r,type:3,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:4,name:"3",structure:NA},{...r,type:3,flags:1,bitOffset:128,bitSize:32,byteSize:4,slot:5,name:"4",structure:NA}]}}),Ra(fe,{...A,type:14,signature:0xb1911d4efbc4e934n,name:"fn (*opaque, []u8, Alignment, usize, usize) bool",length:5,instance:{members:[{...r,type:5,bitSize:192,byteSize:24,structure:Ee}],template:Tn},static:{members:[],template:Zn}}),Ra(ye,{...A,type:8,flags:204,signature:0x493ea89f26eed44an,name:"*const fn (*opaque, []u8, Alignment, usize, usize) bool",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:fe}]}}),Ra(he,{...A,type:12,flags:14,signature:0x9205d7e9600828c7n,name:"Arg(fn (*opaque, []u8, Alignment, usize, usize) ?[*]u8)",length:5,byteSize:28,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"retval",structure:RA},{...r,type:5,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"0",structure:UA},{...r,type:5,flags:1,bitOffset:64,bitSize:64,byteSize:8,slot:2,name:"1",structure:ue},{...r,type:3,flags:1,bitOffset:192,bitSize:5,byteSize:1,slot:3,name:"2",structure:Qe},{...r,type:3,flags:1,bitOffset:128,bitSize:32,byteSize:4,slot:4,name:"3",structure:NA},{...r,type:3,flags:1,bitOffset:160,bitSize:32,byteSize:4,slot:5,name:"4",structure:NA}]}}),Ra(me,{...A,type:14,signature:0xa62dc1e1ab682848n,name:"fn (*opaque, []u8, Alignment, usize, usize) ?[*]u8",length:5,instance:{members:[{...r,type:5,bitSize:224,byteSize:28,structure:he}],template:jn},static:{members:[],template:Xn}}),Ra(pe,{...A,type:8,flags:204,signature:0x77acf15c3d1d71d3n,name:"*const fn (*opaque, []u8, Alignment, usize, usize) ?[*]u8",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:me}]}}),Ra(be,{...A,type:12,flags:14,signature:0x904e42ce696930c2n,name:"Arg(fn (*opaque, []u8, Alignment, usize) void)",length:4,byteSize:20,align:4,instance:{members:[{...r,flags:1,bitOffset:128,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:UA},{...r,type:5,flags:1,bitOffset:32,bitSize:64,byteSize:8,slot:2,name:"1",structure:ue},{...r,type:3,flags:1,bitOffset:128,bitSize:5,byteSize:1,slot:3,name:"2",structure:Qe},{...r,type:3,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:4,name:"3",structure:NA}]}}),Ra(de,{...A,type:14,signature:0x6d484295c0c3632en,name:"fn (*opaque, []u8, Alignment, usize) void",length:4,instance:{members:[{...r,type:5,bitSize:160,byteSize:20,structure:be}],template:Wn},static:{members:[],template:$n}}),Ra(we,{...A,type:8,flags:204,signature:0xa160bce25686afaen,name:"*const fn (*opaque, []u8, Alignment, usize) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:de}]}}),Ra(Se,{...A,type:2,flags:14,signature:0x82fdd6a3c2718ac5n,name:"VTable",byteSize:16,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"alloc",structure:Be},{...r,type:5,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"resize",structure:ye},{...r,type:5,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"remap",structure:pe},{...r,type:5,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"free",structure:we}],template:Ar}}),Ra(De,{...A,type:8,flags:204,signature:0x032c51cdc1d57444n,name:"*const VTable",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:Se}]}}),Ra(ve,{...A,flags:9,signature:0x406b8a99e2cc9d59n,name:"type",align:1,instance:{members:[{...r,type:6,bitOffset:0,bitSize:0,byteSize:0,slot:0,structure:ve}]}}),Ra(ze,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES0",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:ze}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:ze}],template:or}}),Ra(ke,{...A,flags:1,signature:0xcd90723bb6870a4dn,name:"u5",byteSize:1,align:1,instance:{members:[{...r,type:3,bitOffset:0,bitSize:5,byteSize:1,structure:ke}]}}),Ra(xe,{...A,type:12,flags:30,signature:0xfbc5dcd792c9aee9n,name:"Arg(fn (Allocator, usize, Alignment, usize) ?[*]u8)",length:3,byteSize:24,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"retval",structure:RA},{...r,type:5,flags:1,bitOffset:32,bitSize:64,byteSize:8,slot:1,name:"0",structure:Ye},{...r,type:3,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:2,name:"1",structure:NA},{...r,type:3,flags:1,bitOffset:160,bitSize:5,byteSize:1,slot:3,name:"2",structure:Qe},{...r,type:3,flags:1,bitOffset:128,bitSize:32,byteSize:4,slot:4,name:"3",structure:NA}]}}),Ra(Ge,{...A,type:14,signature:0xa1c6c8ddb44e8aa1n,name:"fn (Allocator, usize, Alignment, usize) ?[*]u8",length:3,instance:{members:[{...r,type:5,bitSize:192,byteSize:24,structure:xe}],template:cr}}),Ra(Me,{...A,type:14,signature:0x3150e96a1cf4fb3en,name:"fn (Allocator, usize, Alignment, usize) ?[*]u8",length:3,instance:{members:[{...r,type:5,bitSize:192,byteSize:24,structure:xe}],template:Qr}}),Ra(Fe,{...A,type:12,flags:30,signature:0x844b7d91572e5617n,name:"Arg(fn (Allocator, []u8, Alignment, usize, usize) bool)",length:4,byteSize:28,align:4,instance:{members:[{...r,type:1,flags:1,bitOffset:192,bitSize:1,byteSize:1,slot:0,name:"retval",structure:ZA},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:Ye},{...r,type:5,flags:1,bitOffset:64,bitSize:64,byteSize:8,slot:2,name:"1",structure:ue},{...r,type:3,flags:1,bitOffset:200,bitSize:5,byteSize:1,slot:3,name:"2",structure:Qe},{...r,type:3,flags:1,bitOffset:128,bitSize:32,byteSize:4,slot:4,name:"3",structure:NA},{...r,type:3,flags:1,bitOffset:160,bitSize:32,byteSize:4,slot:5,name:"4",structure:NA}]}}),Ra(Ue,{...A,type:14,signature:0xde63f52f14d5bc74n,name:"fn (Allocator, []u8, Alignment, usize, usize) bool",length:4,instance:{members:[{...r,type:5,bitSize:224,byteSize:28,structure:Fe}],template:lr}}),Ra(Je,{...A,type:14,signature:0xbacda0ec6bc94329n,name:"fn (Allocator, []u8, Alignment, usize, usize) bool",length:4,instance:{members:[{...r,type:5,bitSize:224,byteSize:28,structure:Fe}],template:Cr}}),Ra(Le,{...A,type:12,flags:30,signature:0xca4d0a4d3768c190n,name:"Arg(fn (Allocator, []u8, Alignment, usize, usize) ?[*]u8)",length:4,byteSize:32,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"retval",structure:RA},{...r,type:5,flags:1,bitOffset:32,bitSize:64,byteSize:8,slot:1,name:"0",structure:Ye},{...r,type:5,flags:1,bitOffset:96,bitSize:64,byteSize:8,slot:2,name:"1",structure:ue},{...r,type:3,flags:1,bitOffset:224,bitSize:5,byteSize:1,slot:3,name:"2",structure:Qe},{...r,type:3,flags:1,bitOffset:160,bitSize:32,byteSize:4,slot:4,name:"3",structure:NA},{...r,type:3,flags:1,bitOffset:192,bitSize:32,byteSize:4,slot:5,name:"4",structure:NA}]}}),Ra(Ne,{...A,type:14,signature:0x5694954bb4defd4fn,name:"fn (Allocator, []u8, Alignment, usize, usize) ?[*]u8",length:4,instance:{members:[{...r,type:5,bitSize:256,byteSize:32,structure:Le}],template:Br}}),Ra(Re,{...A,type:14,signature:0xef3e466f3864f3f8n,name:"fn (Allocator, []u8, Alignment, usize, usize) ?[*]u8",length:4,instance:{members:[{...r,type:5,bitSize:256,byteSize:32,structure:Le}],template:ur}}),Ra(Oe,{...A,type:12,flags:30,signature:0x8cbf4dbbc76d157cn,name:"Arg(fn (Allocator, []u8, Alignment, usize) void)",length:3,byteSize:24,align:4,instance:{members:[{...r,flags:1,bitOffset:160,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:Ye},{...r,type:5,flags:1,bitOffset:64,bitSize:64,byteSize:8,slot:2,name:"1",structure:ue},{...r,type:3,flags:1,bitOffset:160,bitSize:5,byteSize:1,slot:3,name:"2",structure:Qe},{...r,type:3,flags:1,bitOffset:128,bitSize:32,byteSize:4,slot:4,name:"3",structure:NA}]}}),Ra(qe,{...A,type:14,signature:0x0c1808e686843fafn,name:"fn (Allocator, []u8, Alignment, usize) void",length:3,instance:{members:[{...r,type:5,bitSize:192,byteSize:24,structure:Oe}],template:Er}}),Ra(Ke,{...A,type:14,signature:0x65e6caa57226340dn,name:"fn (Allocator, []u8, Alignment, usize) void",length:3,instance:{members:[{...r,type:5,bitSize:192,byteSize:24,structure:Oe}],template:fr}}),Ra(Ye,{...A,type:2,flags:270,signature:0x792f7b78d636007fn,name:"Allocator",byteSize:8,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"ptr",structure:UA},{...r,type:5,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"vtable",structure:De}],template:yr},static:{members:[{...r,type:5,flags:2,slot:0,name:"Error",structure:ve},{...r,type:5,flags:2,slot:1,name:"Log2Align",structure:ve},{...r,type:5,flags:2,slot:2,name:"VTable",structure:ve},{...r,type:5,flags:2,slot:3,name:"noResize",structure:fe},{...r,type:5,flags:2,slot:4,name:"noRemap",structure:me},{...r,type:5,flags:2,slot:5,name:"noFree",structure:de},{...r,type:5,flags:18,slot:6,name:"rawAlloc",structure:Ge},{...r,type:5,flags:18,slot:7,name:"rawResize",structure:Ue},{...r,type:5,flags:18,slot:8,name:"rawRemap",structure:Ne},{...r,type:5,flags:18,slot:9,name:"rawFree",structure:qe}],template:br}}),Ra(_e,{...A,type:12,flags:30,signature:0xd43be71134534ad3n,name:"Arg(fn (Allocator, f32, f32, f32) void)",length:3,byteSize:20,align:4,instance:{members:[{...r,flags:1,bitOffset:160,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:Ye},{...r,type:4,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"1",structure:a},{...r,type:4,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"2",structure:a},{...r,type:4,flags:1,bitOffset:128,bitSize:32,byteSize:4,slot:4,name:"3",structure:a}]}}),Ra(Pe,{...A,type:14,signature:0x761bf1907c17c1a6n,name:"fn (Allocator, f32, f32, f32) void",length:3,instance:{members:[{...r,type:5,bitSize:160,byteSize:20,structure:_e}],template:Lr}}),Ra(Ve,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES1",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:Ve}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:Ve}],template:Nr}}),Ra(He,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES1!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:Ve}]}}),Ra(Te,{...A,type:12,flags:42,signature:0x5bb01020d75668f5n,name:"Arg(fn (f32) ES1!void)",length:1,byteSize:8,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:32,bitSize:16,byteSize:2,slot:0,name:"retval",structure:He},{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:a}]}}),Ra(Ze,{...A,type:14,signature:0x13f401b042d16a6cn,name:"fn (f32) ES1!void",length:1,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:Te}],template:Or}}),Ra(je,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES2",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:je}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:je}],template:qr}}),Ra(Xe,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES2!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:je}]}}),Ra(We,{...A,type:12,flags:42,signature:0xe77c9ddd0c1696ddn,name:"Arg(fn (u32, [4]PointUV, u32) ES2!void)",length:3,byteSize:76,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:576,bitSize:16,byteSize:2,slot:0,name:"retval",structure:Xe},{...r,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:m},{...r,type:5,flags:1,bitOffset:32,bitSize:512,byteSize:64,slot:2,name:"1",structure:IA},{...r,type:3,flags:1,bitOffset:544,bitSize:32,byteSize:4,slot:3,name:"2",structure:m}]}}),Ra($e,{...A,type:14,signature:0xa304643f09351c2an,name:"fn (u32, [4]PointUV, u32) ES2!void",length:3,instance:{members:[{...r,type:5,bitSize:608,byteSize:76,structure:We}],template:Yr}}),Ra(At,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES3",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:At}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:At}],template:_r}}),Ra(et,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES3!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:At}]}}),Ra(tt,{...A,type:12,flags:42,signature:0xd958a5eaf8a8097an,name:"Arg(fn () ES3!void)",length:0,byteSize:2,align:2,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:0,name:"retval",structure:et}]}}),Ra(it,{...A,type:14,signature:0x73c032fe09668bden,name:"fn () ES3!void",length:0,instance:{members:[{...r,type:5,bitSize:16,byteSize:2,structure:tt}],template:Vr}}),Ra(nt,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES4",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:nt}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:nt}],template:Hr}}),Ra(rt,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES4!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:nt}]}}),Ra(st,{...A,type:12,flags:62,signature:0x3fb768c112e58843n,name:"Arg(fn (Allocator, f32, f32) ES4!void)",length:2,byteSize:20,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:128,bitSize:16,byteSize:2,slot:0,name:"retval",structure:rt},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:Ye},{...r,type:4,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"1",structure:a},{...r,type:4,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"2",structure:a}]}}),Ra(at,{...A,type:14,signature:0xf55fdf915ebb0439n,name:"fn (Allocator, f32, f32) ES4!void",length:2,instance:{members:[{...r,type:5,bitSize:160,byteSize:20,structure:st}],template:Zr}}),Ra(gt,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES5",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:gt}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:gt}],template:jr}}),Ra(ot,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES5!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:gt}]}}),Ra(It,{...A,type:12,flags:42,signature:0xd958a5eaf8a8097an,name:"Arg(fn () ES5!void)",length:0,byteSize:2,align:2,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:0,name:"retval",structure:ot}]}}),Ra(ct,{...A,type:14,signature:0x73c032fe09668bden,name:"fn () ES5!void",length:0,instance:{members:[{...r,type:5,bitSize:16,byteSize:2,structure:It}],template:Wr}}),Ra(Qt,{...A,type:12,signature:0xb1afac27f34003f4n,name:"Arg(fn (f32, f32) void)",length:2,byteSize:8,align:4,instance:{members:[{...r,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:a},{...r,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:2,name:"1",structure:a}]}}),Ra(lt,{...A,type:14,signature:0x63bac1760494db20n,name:"fn (f32, f32) void",length:2,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:Qt}],template:$r}}),Ra(Ct,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES6",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:Ct}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:Ct}],template:As}}),Ra(Bt,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES6!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:Ct}]}}),Ra(ut,{...A,type:12,flags:42,signature:0xd958a5eaf8a8097an,name:"Arg(fn () ES6!void)",length:0,byteSize:2,align:2,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:0,name:"retval",structure:Bt}]}}),Ra(Et,{...A,type:14,signature:0x73c032fe09668bden,name:"fn () ES6!void",length:0,instance:{members:[{...r,type:5,bitSize:16,byteSize:2,structure:ut}],template:ts}}),Ra(ft,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES7",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:ft}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:ft}],template:is}}),Ra(yt,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES7!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:ft}]}}),Ra(ht,{...A,type:12,flags:42,signature:0xd958a5eaf8a8097an,name:"Arg(fn () ES7!void)",length:0,byteSize:2,align:2,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:0,name:"retval",structure:yt}]}}),Ra(mt,{...A,type:14,signature:0x73c032fe09668bden,name:"fn () ES7!void",length:0,instance:{members:[{...r,type:5,bitSize:16,byteSize:2,structure:ht}],template:rs}}),Ra(pt,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES8",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:pt}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:pt}],template:ss}}),Ra(bt,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES8!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:pt}]}}),Ra(dt,{...A,type:12,flags:42,signature:0xd958a5eaf8a8097an,name:"Arg(fn () ES8!void)",length:0,byteSize:2,align:2,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:0,name:"retval",structure:bt}]}}),Ra(wt,{...A,type:14,signature:0x73c032fe09668bden,name:"fn () ES8!void",length:0,instance:{members:[{...r,type:5,bitSize:16,byteSize:2,structure:dt}],template:gs}}),Ra(St,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES9",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:St}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:St}],template:os}}),Ra(Dt,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES9!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:St}]}}),Ra(vt,{...A,type:12,flags:46,signature:0x5f0fe95343834fecn,name:"Arg(fn ([]const Serialized, bool) ES9!void)",length:2,byteSize:12,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:64,bitSize:16,byteSize:2,slot:0,name:"retval",structure:Dt},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:lA},{...r,type:1,flags:1,bitOffset:80,bitSize:1,byteSize:1,slot:2,name:"1",structure:ZA}]}}),Ra(zt,{...A,type:14,signature:0x7dcebd98ea82b936n,name:"fn ([]const Serialized, bool) ES9!void",length:2,instance:{members:[{...r,type:5,bitSize:96,byteSize:12,structure:vt}],template:cs}}),Ra(kt,{...A,type:9,flags:64,signature:0x9212e6749825a514n,name:"[_]f32",byteSize:4,align:4,instance:{members:[{...r,type:4,bitSize:32,byteSize:4,structure:a}]}}),Ra(xt,{...A,type:8,flags:188,signature:0xfc4e3831fa228a2en,name:"[]const f32",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:kt}]}}),Ra(Gt,{...A,type:12,flags:14,signature:0x0292a02ab8f8020cn,name:"Arg(fn ([]const f32) void)",length:1,byteSize:8,align:4,instance:{members:[{...r,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:xt}]}}),Ra(Mt,{...A,type:14,signature:0x47389ea7e1d3d337n,name:"fn ([]const f32) void",length:1,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:Gt}],template:Qs}}),Ra(Ft,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES10",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:Ft}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:Ft}],template:ls}}),Ra(Ut,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES10!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:Ft}]}}),Ra(Jt,{...A,type:6,flags:1,signature:0x9ebf0e3a55069528n,name:"Tool",byteSize:1,align:1,instance:{members:[{...r,type:3,bitOffset:0,bitSize:1,byteSize:1,structure:Jt}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"None",structure:Jt},{...r,type:5,flags:4,slot:1,name:"DrawShape",structure:Jt}],template:Bs}}),Ra(Lt,{...A,type:12,flags:42,signature:0x87df1d6f0819619en,name:"Arg(fn (Tool) ES10!void)",length:1,byteSize:4,align:2,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:0,name:"retval",structure:Ut},{...r,type:3,flags:1,bitOffset:16,bitSize:1,byteSize:1,slot:1,name:"0",structure:Jt}]}}),Ra(Nt,{...A,type:14,signature:0xfd284c5d6ec70f46n,name:"fn (Tool) ES10!void",length:1,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,structure:Lt}],template:fs}}),Ra(Rt,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES11",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:Rt}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:Rt}],template:ys}}),Ra(Ot,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES11!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:Rt}]}}),Ra(qt,{...A,type:1,flags:10,signature:0xdad9d201b8d5c9b5n,name:"[4]Point",length:4,byteSize:32,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:C}]}}),Ra(Kt,{...A,type:9,flags:10,signature:0x9b9c01002975271fn,name:"[_][4]Point",byteSize:32,align:4,instance:{members:[{...r,type:5,bitSize:256,byteSize:32,structure:qt}]}}),Ra(Yt,{...A,type:8,flags:188,signature:0x40bb9abc611262cen,name:"[]const [4]Point",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:Kt}]}}),Ra(_t,{...A,type:9,flags:14,signature:0x7a657b2cbd904362n,name:"[_][]const [4]Point",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:Yt}]}}),Ra(Pt,{...A,type:8,flags:188,signature:0x4f4b1e60a039c441n,name:"[]const []const [4]Point",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:_t}]}}),Ra(Vt,{...A,type:2,flags:4106,signature:0x19c171c6cb7748afn,name:"ShapeProps",byteSize:36,align:4,instance:{members:[{...r,type:5,bitOffset:0,bitSize:128,byteSize:16,slot:0,name:"fill_color",structure:J},{...r,type:5,bitOffset:128,bitSize:128,byteSize:16,slot:1,name:"stroke_color",structure:J},{...r,type:4,bitOffset:256,bitSize:32,byteSize:4,slot:2,name:"stroke_width",structure:a}],template:ms}}),Ra(Ht,{...A,type:12,flags:46,signature:0xaee11af771b7adc0n,name:"Arg(fn ([]const []const [4]Point, ShapeProps) ES11!void)",length:2,byteSize:48,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:352,bitSize:16,byteSize:2,slot:0,name:"retval",structure:Ot},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:Pt},{...r,type:5,flags:1,bitOffset:64,bitSize:288,byteSize:36,slot:2,name:"1",structure:Vt}]}}),Ra(Tt,{...A,type:14,signature:0x185e378cc11e1cf5n,name:"fn ([]const []const [4]Point, ShapeProps) ES11!void",length:2,instance:{members:[{...r,type:5,bitSize:384,byteSize:48,structure:Ht}],template:ps}}),Ra(Zt,{...A,type:2,flags:4096,signature:0x239ab4f327f6ac1bn,name:"index",align:1,static:{members:[{...r,type:5,flags:2,slot:0,name:"connect_web_gpu_programs",structure:oA},{...r,type:5,flags:2,slot:1,name:"connect_on_asset_update_callback",structure:fA},{...r,type:5,flags:2,slot:2,name:"connect_on_asset_selection_callback",structure:bA},{...r,type:5,flags:2,slot:3,name:"connect_cache_callbacks",structure:MA},{...r,type:5,flags:2,slot:4,name:"ASSET_ID_TRESHOLD",structure:m},{...r,type:5,flags:2,slot:5,name:"init_state",structure:Pe},{...r,type:5,flags:2,slot:6,name:"update_render_scale",structure:Ze},{...r,type:5,flags:2,slot:7,name:"add_asset",structure:$e},{...r,type:5,flags:2,slot:8,name:"remove_asset",structure:it},{...r,type:5,flags:2,slot:9,name:"on_update_pick",structure:hA},{...r,type:5,flags:2,slot:10,name:"on_pointer_down",structure:at},{...r,type:5,flags:2,slot:11,name:"on_pointer_up",structure:ct},{...r,type:5,flags:2,slot:12,name:"on_pointer_move",structure:lt},{...r,type:5,flags:2,slot:13,name:"on_pointer_leave",structure:Et},{...r,type:5,flags:2,slot:14,name:"commit_changes",structure:mt},{...r,type:5,flags:2,slot:15,name:"render_draw",structure:wt},{...r,type:5,flags:2,slot:16,name:"render_pick",structure:kA},{...r,type:5,flags:2,slot:17,name:"reset_assets",structure:zt},{...r,type:5,flags:2,slot:18,name:"destroy_state",structure:kA},{...r,type:5,flags:2,slot:19,name:"import_icons",structure:Mt},{...r,type:5,flags:2,slot:20,name:"set_tool",structure:Nt},{...r,type:5,flags:2,slot:21,name:"stop_drawing_shape",structure:kA},{...r,type:5,flags:2,slot:22,name:"add_shape",structure:Tt}],template:bs}});const Oa=[s,a,g,o,I,c,Q,l,C,B,u,E,f,y,h,m,p,b,d,w,S,D,v,z,k,x,G,M,F,U,J,L,N,R,O,q,K,Y,_,P,V,H,T,Z,j,X,W,$,AA,eA,tA,iA,nA,rA,sA,aA,gA,oA,IA,cA,QA,lA,CA,BA,uA,EA,fA,yA,hA,mA,pA,bA,dA,wA,SA,DA,vA,zA,kA,xA,GA,MA,FA,UA,JA,LA,NA,RA,OA,qA,KA,YA,_A,PA,VA,HA,TA,ZA,jA,XA,WA,$A,Ae,ee,te,ie,ne,re,se,ae,ge,oe,Ie,ce,Qe,le,Ce,Be,ue,Ee,fe,ye,he,me,pe,be,de,we,Se,De,ve,ze,ke,xe,Ge,Me,Fe,Ue,Je,Le,Ne,Re,Oe,qe,Ke,Ye,_e,Pe,Ve,He,Te,Ze,je,Xe,We,$e,At,et,tt,it,nt,rt,st,at,gt,ot,It,ct,Qt,lt,Ct,Bt,ut,Et,ft,yt,ht,mt,pt,bt,dt,wt,St,Dt,vt,zt,kt,xt,Gt,Mt,Ft,Ut,Jt,Lt,Nt,Rt,Ot,qt,Kt,Yt,_t,Pt,Vt,Ht,Tt,Zt],qa=Zt,Ka={runtimeSafety:!1,littleEndian:!0,libc:!1},Ya=(0,n.M)();Ya.recreateStructures(Oa,Ka);const _a=(async()=>{const A=atob("AGFzbQEAAAABiQInYAJ/fwBgBX9/f39/AGAEf39/fwF/YAN/f38AYAZ/f39/f38Bf2AEf399fQF/YAAAYAF/AGAEf319fQBgAX0Bf2ADf39/AX9gAAF/YAN/fX0Bf2ACfX0AYAF/AX9gAn9/AX1gAn9/AX9gBH9/f38AYAR/f35/AGAFf319fX8AYAV9fX19fQF9YAZ/f39/f38AYAJ9fQF9YAZ/f399f30AYAV/f399fQBgBn99fX19fwBgBH9/f30AYAF9AX1gAX8BfmAFf399fX8Bf2AHf39/f39/fwF/YAV/f39/fwF/YAV/fn5+fgBgAn98AGACfH8BfGABfAF/YAF8AX1gAn1/AX9gA3x8fAF8AoQBBgNlbnYGbWVtb3J5AgAFA2VudhlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAXAA1gIDZW52DV9kaXNwbGF5UGFuaWMAAANlbnYNX2hhbmRsZUpzQ2FsbAACA2VudhBfYWxsb2NhdGVKc1RodW5rABADZW52DF9mcmVlSnNUaHVuawAQA78DvQMGCwcHBwAICQoLBwwLDQsLCwYKBgAOBgoQEAABExQBAwMKCg4PBxAODgMHAw4OAQMDBwMLDg4HFRUVABYQAxcYAQoBAwMZGgAAFwMDBgMDAxYbDg4QDgAQDgoQEBAQEAQEAQIKBAQBAw8DAQccEBAREBAREBAQEBAQERAQEBEQEBACBAQBBwAHBwcHBwcHBwcHBwcHBwcGBwYGBgYGBgYGBgYGBgYGBhAREBEQERARChwQEREQERAREREQEBAQEBAAAwAAAAAAAAAAAAAAAAAAAAUdBQUFBQUFBQUFBQUFBQUFBB4EBAQEBAQEBAQEBAQEBAQEHgQEBAQEBAQEBAQEBAQEBAEVAQEBAQEBAQEBAQEBAQEBEBAQEBAQEAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEVAQEBAQEBAQEBAQEBAQEBAxEDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAIfAgICAgICAgICAgICAgICEBAQEBAQEAYQBwICBAQEBAEDCh8QEAcGCwIOBAQBICEiFiMbJCQlHxsmFhsbBggBfwFBgIAQCwe4AQoPZ2V0RmFjdG9yeVRodW5rAAUKaW5pdGlhbGl6ZQCbAxVhbGxvY2F0ZVNjcmF0Y2hNZW1vcnkAnAMRZnJlZVNjcmF0Y2hNZW1vcnkApQMIcnVuVGh1bmsApgMQcnVuVmFyaWFkaWNUaHVuawCnAw1jcmVhdGVKc1RodW5rAKgDDmRlc3Ryb3lKc1RodW5rAKkDC2ZsdXNoU3Rkb3V0AKsDE2dldE1vZHVsZUF0dHJpYnV0ZXMArAMIAQQJ8gQBAEEBC9UCAAYHCAkKCwwNDg8QERITFBUWFxgZGhtxcnN0dXZ3eHl6e3x9fn+AAYEBggGDAYQBtQG2AbcBuAG5AboBuwG8Ab0BY2RlhQGGAYcBiAFSKFMeqwGsAa0BrgGvAbABsQGyAb4BvwHAAcEBbFZXWF1eX2BhYsIBwwGZApoCmwKcAp0CngKfAllaW1yUA5UDlgOXA5gDmQOaA60DrwOwA7EDZmhpaokBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgHEAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1wHYAdkB2gHbAdwB3QHeAd8B4AHhAeIB4wHkAeUB5gHoAekB6gHrAewB7QHuAe8B8AHxAfIB8wH0AfUB9gH3AfkB+gH7AfwB/QH+Af8BgAKBAoICgwKEAoUChgKHAogCigKLAowCjQKOAo8CkAKRApICkwKUApUClgKXApgCoAKiAqMCpAKlAqYCpwKoAqkCqgKrAqwCrQKuAq8CsAKxArICswK0ArUCtgK3ArgCuQK6ArsCvAK9Ar4CvwLAAsECwwLEAsUCxgLHAsgCyQLKAssCzALNAs4CzwLQAtEC0gLUAtUC1gLXAtgC2QLaAtsC3ALdAt4C3wLgAuEC4gLjAuQC5QLmAucC6ALpAuoC6wLsAu0C7gLvAvAC8QLyAvMC9AL1AvYC9wL4AvkC+gL7AvwC/QL+Av8CgAOBA4IDgwOFA4YDhwOIA4kDigOLA4wDjQOOA48DkAORA5IDkwOeA6ADogOkAwq3nwO9Aw4AQaizEEEAQYQJ/AsACwQAQQELCwBBACAANgK0sxALCwBBACAANgKosxALCwBBACAANgKwsxALFABBACABNgK8sxBBACAANgK4sxALPQBBAEIANwLMshBBACACOALIshBBACABOALEshBBAEIANwLUshBBACADOALAsxBBAEEAKQPgmhA3AtyyEAvHAQEEfyMAQSBrIgEkAEEAIAA4AsCyECABQgA3AxAgAUHYjBA2AhwgAUEAKQPgmhA3AwhBACgCzLIQQQAoAtSyECICQQJ0akGq1arVeiACGyECIAEgAUEIajYCGEEAKALQshAhAwN/AkACQAJAIAMNAEEAIQQMAQsgAkGQAWotAABFDQEgAhAnQQFxRQ0BIAIgAUEYakEBECYiBEH//wNxRQ0BCyABQQhqECkgAUEgaiQAIAQPCyACQZQBaiECIANBf2ohAwwACwtxAQF/IwBBoAFrIgMkAAJAIAANAEEAQQAoApCzECIAQQFqNgKQsxALIANBEGogAUHAAPwKAAAgA0EAOgCcASADIAI2AlAgAyAANgIMAkAgACADQQxqECoiAEH//wNxDQBBARAxIQALIANBoAFqJAAgAAvFCAELfyMAQRBrIgAkAEEAKALoshAhAQJAAkACQAJAAkBBACgC2LIQIgJFDQAgAkEEaiEDQQEgAi0AACIEdCEFQQBBAUECIARBEUkbIARBCUkbDgMBAgMBC0EAKALUshBFDQNBACgC0LIQIQVBACgCzLIQIQRBACEDA0AgBSADRg0EAkAgBCgCACABRw0AIAMQOgwFCyAEQQRqIQQgA0EBaiEDDAALCyAAQQhqQcyyECABIAIgAyAFEDsgAC0ADEUNAiAAKAIIIgVBAWohBCADIAVBAXRqLQAAIQYCQANAIAMgBUEBdGohASADIARBfyACKAIAdEF/c3EiBUEBdGoiBy0AACIIQf8BRg0BIActAAEiB0H/AXFFDQEgASAIOgAAIAEgB0F/ajoAASAEQQFqIQQMAAsLIAFB/wE6AAAgBkEAKALQshBBf2oiBCAGIARLGyEJIAYhCAJAA0AgCCAJRg0BQQAoAsyyEEGq1arVekEAKALUshAbIAhBAWoiAUECdGooAgAQMCEEQX8gAigCAHRBf3MhBQJAA0AgASADIAQgBXFBAXRqIgctAABGDQEgBEEBaiEEDAALCyAHIAg6AAAgASEIDAALCyAGEDoMAgsgAEEIakHMshAgASACIAMgBRA8IAAtAAxFDQEgACgCCCIFQQFqIQQgAyAFQQJ0ai8BACEGAkADQCADIAVBAnRqIQEgAyAEQX8gAigCAHRBf3NxIgVBAnRqIgcvAQAiCEH//wNGDQEgBy8BAiIHQf//A3FFDQEgASAIOwEAIAEgB0F/ajsBAiAEQQFqIQQMAAsLIAFB//8DOwEAIAZBACgC0LIQQX9qIgQgBiAESxshCSAGIQgCQANAIAggCUYNAUEAKALMshBBqtWq1XpBACgC1LIQGyAIQQFqIgFBAnRqKAIAEDAhBEF/IAIoAgB0QX9zIQUCQANAIAEgAyAEIAVxQQJ0aiIHLwEARg0BIARBAWohBAwACwsgByAIOwEAIAEhCAwACwsgBhA6DAELIABBCGpBzLIQIAEgAiADIAUQPSAALQAMRQ0AIAAoAggiAUEBaiEGIAMgAUEDdGooAgAhCkEAIQQCQANAIAMgAUEDdGohASADIAYgBGpBfyACKAIAdEF/cyIFcSIIQQN0aiIHKAIAIglBf0YNASAHKAIEIgdFDQEgASAJNgIAIAEgB0F/ajYCBCAEQQFqIQQgCCEBDAALCyABQX82AgAgCkEAKALQshBBf2oiBCAKIARLGyEJIAohCAJAA0AgCCAJRg0BQQAhBEEAKALMshBBqtWq1XpBACgC1LIQGyAIQQFqIgFBAnRqKAIAEDAhBwJAA0AgAyAHIARqIAVxQQN0aiICKAIAIAFGDQEgBEEBaiEEDAALCyACIAg2AgAgASEIDAALCyAKEDoLAkBBABA5IgNB//8DcQ0AQQEQMSEDCyAAQRBqJAAgAwsdAAJAQQAtAIizEEEDcUECRg0AQQAgADYC5LIQCwuXBwMFfwF+AX0jAEHwAWsiAyQAQQAhBAJAAkACQEEALQCJsxBBAXFFDQBBAEEBOgCEsxAgAyACOAIEIAMgATgCAEEAIAMpAwA3AvyyEEEAKALoshANAUEAQQAoApCzECIFQQFqNgKQsxAgA0EAOgCgASADQcgAakEAQdAA/AsAIANBACkD4JoQNwIcIANBADYCGCADQqrVqtUKNwIQIAMgBTYCDCADLQCgASEEIANBJGpBpIAQQST8CgAAIANBAToAnAEgAyAEOgCYASAFIANBDGoQKiIEQf//A3ENAiAFEDkiBEH//wNxRQ0BDAILQQAoAuiyECIFRQ0BQQAhBAJAQQAoAuSyECIGQX9qQQhLDQBBACEEQQBBAjoAiLMQDAILIAVB6AdJDQEgBSAGRw0BQQAhBEEAIAI4AvCyEEEAIAE4AuyyEEEAQQA6AIizEAwBCwJAEDciBg0AQcSBEEE0ED4ACwJAAkACQAJAQQAtAPiyEEUNACAGKAIEQQAoAvSyECIHQRhsaiIFLQAUDQEgBSgCBCIEQQJNDQIgAyAFKAIAIARBA3RqIgRBeGopAgAiCDcCwAEgBEFwaioCACECIARBdGoqAgAhASAFIANBwAFqEBwiBEH//wNxDQQCQAJAIAJD+QIVUF5FDQAgA0K3h+mNBTcDyAEMAQsgAyAIQiCIp74iCSABkyAJkjgCzAEgAyAIp74iASACkyABkjgCyAELIAUgA0HIAWoQHCIEQf//A3FFDQIMBAsgA0Kq1arVCjcC2AEgA0EANgLgASADQQApA+CaEDcC5AEgA0HYAWogAxAcIgRB//8DcQ0DIANB2AFqQciMEBAcIgRB//8DcQ0DIANBoAFqQQhqIANB2AFqQQhqKQIANwMAIANBoAFqQRBqIANB2AFqQRBqKAIANgIAIANBADsBuAEgAyADKQLYATcDoAEgA0EAOgDQASADQQA6ALQBIAZBBGogA0GgAWoQQCIEQf//A3ENAyAGKAIIQX9qIQcMAgtBmIwQQS8QPgALIAVByIwQEBwiBEH//wNxDQEgAyAFKAIAKQIAIgg3A9ABIAMgCDcD2AEgAyEEAkAgA0HYAWogAxAoQwAAIEFdRQ0AIAVBAToAFCADQdABaiEECyAFIAQQHCIEQf//A3ENASAGQQE6AIwBC0EAIQRBAEEBOgCKsxBBAEEBOgD4shBBACAHNgL0shALIANB8AFqJAAgBAuOAQECfwJAQQAtAImzEEEBcQ0AAkBBAC0AiLMQQQNxQQFHDQBBACgC5LIQEDkPC0EAQQE6AIizEEEBEDEPCwJAQQAtAPiyEEUNAEEAKAL0shAhAAJAEDciAUUNACABKAIEIABBGGxqLQAURQ0BQQBCADcC9LIQDAELQc2FEEHJABA+AAtBAEEAOgCKsxBBAAudDAIFfxB9IwBB0AFrIgIkAAJAAkACQAJAAkACQAJAQQAtAImzEEEBcUUNABA3IgNFDQZBAEEBOgCEsxBBACABOAKAsxBBACAAOAL8shBBAC0A+LIQRQ0GQQAtAIqzEEUNBiADKAIEQQAoAvSyEEEYbGoiBCgCBCEFIAQoAgAhBiAELQAUQQFxRQ0BIAYgBUEDdGoiBEF0aiAGKgIEIgcgByABk5I4AgAgBEFwaiAGKgIAIgcgByAAk5I4AgAMAgtBACgC6LIQEDgiBkUNBSAGLQCQAUUNBAwFCyAFQQJHDQELIAYgATgCDCAGIAA4AggMAQsgBiAFQQN0aiIGQXRqIAZBfGoqAgAiByAHIAGTkjgCACAGQXBqIAZBeGoqAgAiASABIACTkjgCAAsgA0EBOgCMAQwBC0EAIQMCQAJAAkACQEEALQCIsxBBA3EOAwEEAAELQQAoAuSyECEDIAZBBGoiBCAGQTRqIgUQbEPbD8k/kiIIEMADIQdDAAAAACEJQwAAAAAhCkMAAAAAIQtDAAAAACEMQwAAAAAhDUMAAAAAIQ5DAAAAACEPQwAAAAAhEAJAIAgQtwMiESARlCAHIAeUkiISIAdDAAAAAJQiEyARQwAAAACUIhSTIhVDAAAAAJSSIhaLQ703hjVdDQBDAACAPyAWlSINIBQgE5OMlCEMIAdDAAAAgJQiECAUkyANlCEPIA0gFCAQk4yUIQogEiANlCEJIBUgDZQhCyANIAeMlCEOIAcgDZQhECARIA2UIQ0LIAIgCTgCrAEgAiAKOAKoASACIAs4AqQBIAIgDTgCnAEgAiANOAKMASACIA84ApQBIAIgEDgCkAEgAiAMOAKgASACIA44ApgBIAJBsAFqIAJBjAFqIAQQbSACQbgBaiACQYwBaiAGQRRqEG0gAkHAAWogAkGMAWogBkEkahBtIAJByAFqIAJBjAFqIAUQbSACKgLMASEJIAIqAsgBIRMgAioCxAEhCiACKgLAASELIAIqArwBIRUgAioCuAEhFCACKgK0ASESIAIqArABIRYgDyANIACUIBAgAZSSkiIPIRAgDCANIAGUIA4gAJSSkiINIQwCQAJAAkACQAJAAkACQAJAAkACQAJAIANBf2oOCQ0AAQIDBQcICg0LIBMhECAPIQsgDyEUDAMLIA0hCSATIRAgDSEKDAQLIA0hCSAPIRAgDSEKDAYLIBMhEAsgDSEMIBYhDwwICyATIRALIA8hCyAVIQ0gDyEUDAULIA0hCSATIRAgDSEKIBUhDQwECyAPIRALIBUhDSASIQwMAwsgBioCCCAGKgIokkMAAAA/lCIHIAGTIAYqAgQgBioCJJJDAAAAP5QiASAAkxBUQ9sPyb+SIQ1BACEDA0AgA0HAAEYNBCAGIANqIgVBCGoiBCoCACAHkyAFQQRqIgUqAgAgAZMQVCEAIAQgByAFKgIAIAGTIAQqAgAgB5MQPyIRIA0gACAIk5IiABDAA5SSOAIAIAUgASARIAAQtwOUkjgCACADQRBqIQMMAAsLQQAqAvCyECEHQQAgATgC8LIQQQAqAuyyECERQQAgADgC7LIQIAJBzABqIAZBBGoiBUHAAPwKAAAgASAHkyEBIAAgEZMhAANAAkAgA0HAAEcNAEEAIQMDQCADQcAARg0FIAUgA2oiBiACQQxqIANqIgQpAgA3AgAgBkEIaiAEQQhqKQIANwIAIANBEGohAwwACwsgAkEMaiADaiIGQQhqIAJBzABqIANqIgRBCGopAgA3AgAgBiAAIAQqAgCSOAIAIAZBBGogASAEQQRqKgIAkjgCACADQRBqIQMMAAsLIBIhDCAWIQ8LIAYgESAJlCAHIBCUkkMAAAAAkjgCOCAGIBEgEJQgByAJlJNDAAAAAJI4AjQgBiARIAqUIAcgC5SSQwAAAACSOAIoIAYgESALlCAHIAqUk0MAAAAAkjgCJCAGIBEgDZQgByAUlJJDAAAAAJI4AhggBiARIBSUIAcgDZSTQwAAAACSOAIUIAYgESAMlCAHIA+UkkMAAAAAkjgCCCAGIBEgD5QgByAMlJNDAAAAAJI4AgQLIAJB0AFqJAALGABBAEEBOgCIsxBBAEEANgLkshBBARAxC2sBA38jAEEgayIAJABBACEBAkBBAC0AibMQQQFxRQ0AEDciAkUNACAAQdiMEDYCHCAAQgA3AxAgAEEAKQPgmhA3AwggACAAQQhqNgIYIAIgAEEYakEAECYhASAAQQhqECkLIABBIGokACABC58aBhR/AX0BfgF/An4LfSMAQbAmayIAJAAgAEIANwMQIABB2IwQNgIcIABBACkD4JoQNwMIIAAgAEEIajYCGCAAQeAKakMAAAAAQwAAAABBACoCxLIQQQAqAsiyEEHojBAQSSAAQeAKakECQQAoArSzECgCBBEAAEEAKALMshBBACgC1LIQIgFBAnRqQarVqtV6IAEbIQIgAEHgBGohAyAAQZAFakEIaiEEIABBsAtqIQUgAEGgC2ohBiAAQZALaiEHIABBgAtqIQggAEHgCmpBEGohCSAAQYQCaiEKIABBzAJqIQsgAEHJAmohDCAAQcgBakHIAGohDSAAQSBqQQRqIQ5BACgC0LIQIQ9BACEBAkACQANAAkACQAJAIAEgD0YNACABQQFqIRAgAiABQZQBbGoiASgCRCERIAEtAJABQQFxDQIgAEEgaiABQcQA/AoAACAAIBE2AmQgAEHoAGohEkFoIQEDQCABRQ0CIBIgDiABQcSNEGooAgBBBHRqIhMpAgA3AgAgEkEIaiATQQhqKQIANwIAIAFBBGohASASQRBqIRIMAAsLIABBACoCyLIQIhQ4ApQJIABBADYCkAkgACAUOAKMCSAAQQAqAsSyECIUOAKICSAAQQA2AoQJIAAgFDgCgAkgAEIANwP4CEEAIQEDQCABQQRGDQQgACAAQfgIaiABQQN0aikDADcD+AcCQAJAIAFBA0cNACAAQgA3A7AlIABBsCVqIRJBBCETDAELIAAgAEH4CGogAUEBaiITQQN0aikDADcDkAYgAEGQBmohEgsgAEHgCmogAUEHdGogAEH4B2ogEkEAKgLAshAiFCAUkkHsjBBDAAAAABBCIBMhAQwACwsgAEHoAGogEUEAKAK0sxAoAgARAAAgECEBDAELIAEoAnwhEyABLQCAASESIABByAFqIAFBxAD8CgAAIA0gAUHIAGpBNPwKAAAgDEECaiABQYMBai0AADoAACAMIAEvAIEBOwAAIAsgASkChAE3AgAgC0EIaiABQYwBaigCADYCACAAIBI6AMgCIAAgEzYCxAIgACARNgKMAgJAIBJFDQAgCSABKQJMNwIAIAggASkCXCIVNwIAIAcgFTcCACAGIAEpAmw3AgAgAEHgCmpBCGogCkEIaiISKQIANwMAIAlBCGogAUHUAGopAgA3AgAgCEEIaiABQeQAaikCACIVNwIAIAdBCGogFTcCACAGQQhqIAFB9ABqKQIANwIAIAAgCikCADcD4AogBUEIaiASKQIANwIAIAUgCikCADcCACAAQdgCaiAAQeAKakHgAPwKAAAgAEHYAmogE0EAKAK0sxAoAgARAAAgECEBDAELIABBuANqIABByAFqIABBGGpB9LIQQfyyEBAfIAAvAaQEIhYNAiAQIQEgAC0AoARFDQAgAEGoBGogAEG4A2pB6AD8CgAAIABBkAVqIABBuANqQegA/AoAACAAKAKoBCAAKAKsBCAEQQYgA0EAKAK0sxAoAggRAQAgECEBDAALC0EAIRYgAEHgCmpBCEEAKAK0sxAo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DSAIQRB2IgpJDQAgDiAJOwECIA4gBzsBACAIIQcgCiEFDAALCyAJQQFqIQkgBEEBaiEEDAALCyADLQAAQQFxDQELIAUgADYCAAsgBCABQZQB/AoAAEEAIQQLIAJBMGokACAEC7ACAwN/AX4DfyMAQSBrIgEkAEEAIQICQEEAKALUshAiAyAATw0AA0BBfyADQQF2IANqQQFqIgIgAiADSRsiAyAASQ0ACyABQQApAtyyECIENwMAIAFBDGogASADQZgBbBAtIAEvARQiAg0AIAEoAgwhAAJAAkBBACgC0LIQIgUNACABIAQ3AxggAUEYakEAKALMshBBACgC1LIQQZgBbBBRDAELIABBACgCzLIQIgZBqtWq1XpBACgC1LIQIgcbIAVBAnT8CgAAIAAgA0ECdGogBiAHQQJ0akGq1arVeiAHGyAFQZQBbPwKAAAgASAENwMYIAFBGGpBACgCzLIQQQAoAtSyEEGYAWwQUUEAIAU2AtCyEAtBACADNgLUshBBACAANgLMshALIAFBIGokACACCyUAQQJBA0EAIABB/wFxIgBBEUkbIABBCUkbQQJ0QZibEGooAgALnAECAX8BfiMAQTBrIgMkACADIAEpAgA3AxgCQAJAAkACQEEBDQBBCCEBDAELIANBIGogA0EYaiACEEEgAykDICIEQiCIpyIBQf//A3FFDQELIAMgATsBCCADIQEMAQsgAyACNgIQIAMgBD4CDCADQQA7ARQgA0EMaiEBCyAAIAEpAgA3AgAgAEEIaiABQQhqKAIANgIAIANBMGokAAs4AQJ/IwBBEGsiASQAIAFBACkC3LIQNwMIIAFBCGogACAALQAAIgIQLCACdEEEahBRIAFBEGokAAv6AwIHfwJ+IwBBIGsiAyQAIAEoAgQhBCABKAIAIQUgASgCCCEGAkACQAJAAkACQAJAIAEoAgwiAUUNACABQQRqIQdBASABLQAAIgh0IQlBAEEBQQIgCEERSRsgCEEJSRsOAwECAwELIAZFDQNBACEBA0AgBCABRg0EAkAgBSgCACACRw0AIABBAToABCAAIAE2AgAMBgsgBUEEaiEFIAFBAWohAQwACwsgAyABNgIUIAMgBjYCECADIAQ2AgwgAyAFNgIIIANBGGogA0EIaiACIAEgByAJEDsCQAJAIAMtABwNAEIAIQpCACELDAELIAcgAygCGEEBdGoxAAAhCkKAgICAECELCyAAIAsgCoQ3AgAMAwsgAyABNgIUIAMgBjYCECADIAQ2AgwgAyAFNgIIIANBGGogA0EIaiACIAEgByAJEDwCQAJAIAMtABwNAEIAIQpCACELDAELIAcgAygCGEECdGozAQAhCkKAgICAECELCyAAIAsgCoQ3AgAMAgsgAyABNgIUIAMgBjYCECADIAQ2AgwgAyAFNgIIIANBGGogA0EIaiACIAEgByAJED0CQAJAIAMtABwNAEIAIQpCACELDAELIAcgAygCGEEDdGo1AgAhCkKAgICAECELCyAAIAsgCoQ3AgAMAQsgAEIANwIACyADQSBqJAALKgIBfwF+IwBBEGsiASQAIAEgADYCDCABQQxqELQBIQIgAUEQaiQAIAKnC70HAQ1/IwBB0AFrIgEkAEEAIQICQEEAKAKosxAiA0UNAEEAIQIgAUEANgIkIAFCqtWq1Qo3AhwgAUEAKQPgmhA3AihBACgCzLIQQQAoAtSyECIEQQJ0akGq1arVeiAEGyEFQQAoAtCyECEGIAFBKGohBwNAAkACQAJAIAIgBkYNACACQZQBbCEEIAJBAWoiCCECIAUgBGoiBC0AkAFBAXENAyAEKAJEIQkgBCgCACEKIAFBMGogBEEEakHAAPwKAAAgASgCJCILIQICQCALIAEoAiAiDE0NACABKAIcIQQMAwsDQEF/IAJBAXYgAmpBAWoiBCAEIAJJGyICIAxNDQALIAFBEGogByABKAIcIg0gCyACEDICQCABKAIQIgRFDQAgASgCFCECDAILIAFBwAFqIAcgAhAzIAEvAcgBIgINBCABKALEASECIAEoAsABIQQCQCAMRQ0AIAQgDSAMQcgAbPwKAAALIAcgDSALEDQMAQtBACEKQQAoAoyzECEGIAEoAhwhCQJAIAEoAiAiBUEAKAKssxAiB0cNACAGIQsCQANAIAogBUYNASABQfAAaiAJIApByABsIgJqQcgA/AoAACAGIAJqIQ1BsH8hAgJAA0AgAkEQaiIIRQ0BIAFB8ABqIAJqIgxB0ABqKgIAIAsgAmoiBEHQAGoqAgBcDQQgDEHUAGoqAgAgBEHUAGoqAgBcDQQgDEHYAGoqAgAgBEHYAGoqAgBcDQQgCCECIAxB3ABqKgIAIARB3ABqKgIAXA0EDAALCyABKAKwASANKAJARw0CIAtByABqIQsgCkEBaiEKIAEoArQBIA0oAkRHDQIMAAsLIAFBHGoQNSABIAEpAig3A8ABIAFBwAFqIAEoAhwgASgCJBA0QQAhAgwEC0HgmhAgBiAHEDYgASABKQIoNwO4ASABQQhqIAFBuAFqIAkgASgCJCAFEDICQAJAIAEoAggiDEUNACABKAIMIQQMAQsgAUHAAWogAUG4AWogBRAzIAEvAcgBIgINBCABKALAASEMAkAgASgCxAEiBEUNACAMIAkgBEHIAGz8CgAACyABQRxqEDULQQAhAkEAIAw2AoyzEEEAIAQ2AqyzECAAQQFxRQ0DAkAgBEUNACAMIAQgAxEAAAwEC0EAIQJBqtWq1XpBACADEQAADAMLIAEgBDYCHCABIAI2AiQLIAEgDEEBajYCICAEIAxByABsaiICIAFBMGpBwAD8CgAAIAIgCjYCRCACIAk2AkAgCCECDAALCyABQdABaiQAIAILwwECAX8CfiMAQRBrIgUkACAFIAEpAgAiBjcDAAJAAkAgBA0AIAUgAiADEDRBACEBDAELAkAgA0UNAEEAIQEgBSAErULIAH4iB0IgiKciBEEARzoADCAEDQACQCAGpyACIANByABsQQIgB6ciBEEAIAZCIIinKAIIEQQAIgINAEEAIQIMAgsCQCAEDQBBACEBQarVqtV6IQIMAgsgBEHIAG4hAQwBC0EAIQJBACEBCyAAIAI2AgAgACABNgIEIAVBEGokAAu1AQIBfwF+IwBBMGsiAyQAIAMgASkCADcDGCADIAKtQsgAfiIEQiCIpyIBQQBHOgAsAkACQAJAAkAgAUUNAEEIIQEMAQsgA0EgaiADQRhqIASnEEEgAykDICIEQiCIpyIBQf//A3FFDQELIAMgATsBCCADIQIMAQsgAyACNgIQIAMgBD4CDCADQQA7ARQgA0EMaiECCyAAIAIpAgA3AgAgAEEIaiACQQhqKAIANgIAIANBMGokAAs5AgF/AX4CQCACQcgAbCIDRQ0AIAApAgAiBKcgAUGq1arVeiACGyADQQJBACAEQiCIpygCDBEBAAsLNgEBfyMAQRBrIgEkACABIAApAgw3AwggAUEIaiAAKAIAIAAoAggQNCAAQgA3AgQgAUEQaiQACzkCAX8BfgJAIAJByABsIgNFDQAgACkCACIEpyABQarVqtV6IAIbIANBAkEAIARCIIinKAIMEQEACwsoAQJ/QQAhAAJAQQAoAuiyEBA4IgFFDQAgAUEAIAEtAJABGyEACyAAC3MBAn8jAEEgayIBJABBACECIAFBEGpBACkC1LIQNwMAIAFBACkCzLIQNwMIIAFBGGogAUEIaiAAEC8CQCABLQAcRQ0AIAEoAgggASgCECICQQJ0akGq1arVeiACGyABKAIYQZQBbGohAgsgAUEgaiQAIAILKQEBfwJAEBMiAUH//wNxDQBBACAANgLoshAgAEEAKAKwsxARBwALIAELvQEBBn9BACgCzLIQIgFBqtWq1XpBACgC1LIQIgIbIABBAnRqIQMgASACQQJ0aiEEIAAhAQJAA0AgAUEAKALQshBBf2oiBU8NASADIANBBGoiBigCADYCACABQQFqIQEgBiEDDAALC0EAIAUgAGsiASABIAVLGyEBIARBqtWq1XogAhsgAEGUAWxqIQMCQANAIAFFDQEgAyADQZQBaiIGQZQB/AoAACABQX9qIQEgBiEDDAALC0EAIAU2AtCyEAudAQEFfyABKAIAQarVqtV6IAEoAggbIQYgAhAwIQFBfyADKAIAdEF/cyEHQQAhAwNAAkACQCAEIAEgB3EiCEEBdGoiCS0AACIKQf8BRg0AIAktAAFB/wFxIANB/wFxTw0BCyAAQgA3AgAPCwJAIAYgCkECdGooAgAgAkcNACAAQQE6AAQgACAINgIADwsgA0EBaiEDIAFBAWohAQwACwugAQEFfyABKAIAQarVqtV6IAEoAggbIQYgAhAwIQFBfyADKAIAdEF/cyEHQQAhAwNAAkACQCAEIAEgB3EiCEECdGoiCS8BACIKQf//A0YNACAJLwECQf//A3EgA0H//wNxTw0BCyAAQgA3AgAPCwJAIAYgCkECdGooAgAgAkcNACAAQQE6AAQgACAINgIADwsgA0EBaiEDIAFBAWohAQwACwuQAQEFfyABKAIAQarVqtV6IAEoAggbIQYgAhAwIQdBfyADKAIAdEF/cyEIQQAhAQNAAkACQCAEIAcgAWogCHEiCUEDdGoiAygCACIKQX9GDQAgAygCBCABTw0BCyAAQgA3AgAPCwJAIAYgCkECdGooAgAgAkcNACAAQQE6AAQgACAJNgIADwsgAUEBaiEBDAALCwkAIAAgARAAAAtTAgF9AnxDAACAfyECAkAgAItDAACAf1sNACABi0MAAIB/Ww0AQwAAwH8hAiAAIABcDQAgASABXA0AIAC7IgMgAyABuyIEIASiEL0Dn7YhAgsgAgv4AwIIfwF+IwBBIGsiAiQAAkACQAJAAkACQAJAIAAoAggiAyAAKAIEIgRLDQAgAyEFA0BBfyAFQQF2IAVqQQJqIgYgBiAFSRsiBSAETQ0ACyAAKAIAIQcgA0UNASAAKAIQIQggACgCDCEJQQAhBiACIAWtQhh+IgpCIIinIgRBAEc6ABAgBA0BIAkgByADQRhsQQIgCqciBEEAIAgoAggRBAAiCEUNAgJAIAQNAEEAIQRBqtWq1XohBgwECyAEQRhuIQQgCCEGDAMLIAAoAgAhBgwDC0EAIQYLQQAhBAsCQCAGRQ0AIAAgBjYCACAAIAQ2AggMAQsgAiAAKQIMNwMIIAIgBa1CGH4iCkIgiKciBkEARzoAHAJAIAZFDQBBCCEGDAILIAJBEGogAkEIaiAKpxBBIAIpAxAiCkIgiKciBkH//wNxDQEgCqchBgJAIAAoAgQiBEUNACAGIAAoAgAgBEEYbPwKAAALAkAgA0EYbCIERQ0AIAApAgwiCqcgB0Gq1arVeiADGyAEQQJBACAKQiCIpygCDBEBAAsgACAFNgIIIAAgBjYCAAsgACAAKAIEIgVBAWo2AgQgBiAFQRhsaiIFQRBqIAFBEGopAgA3AgAgBUEIaiABQQhqKQIANwIAIAUgASkCADcCAEEAIQYLIAJBIGokACAGC1MBAX4CQCACDQAgAEL8////DzcCAA8LAkAgASkCACIDpyACQQJBACADQiCIpygCABECACICDQAgAEKAgICAgAE3AgAPCyAAIAI2AgAgAEEAOwEEC0kBAX8jAEHQAGsiBiQAIAYgASACIAMgBRBDIAAgBiAGQRRqIAZBKGoiAiAEEEQgAEHAAGogBiACIAZBPGogBBBEIAZB0ABqJAALpAICAX8HfSMAQfAAayIFJAAgAioCBCABKgIEkyACKgIAIAEqAgCTEFQiBhDAAyEHIAIqAgQhCCAFIANDAAAAP5QiAyAGQ9sPyT+SIgkQwAOUIgogCCADIAeUIgeSIgiSOAIcIAYQtwMhCyACKgIAIQwgBSADIAkQtwOUIgYgDCADIAuUIgOSIgmSOAIYIAUgCCAKkzgCFCAFIAkgBpM4AhAgBSABKgIEIAeTIgcgCpM4AgwgBSABKgIAIAOTIgMgBpM4AgggBSAHIAqSOAIEIAUgAyAGkjgCACAFQSBqQQAgBSAEEEogBUE0akEBIAUgBBBKIAVByABqQQIgBSAEEEogBUHcAGpBAyAFIAQQSiAAIAVBIGpB0AD8CgAAIAVB8ABqJAALkAEDA34DfQJ+IAEpAgAhBSADKQIAIQYgAykCCCEHIAMqAhAhCCACKgIQIQkgASoCECEKIAQoAAAhAyACKQIIIQsgAikCACEMIAAgASkCCDcCCCAAIAw3AhAgACALNwIYIAAgAzYCMCAAIAo4AjQgACAJOAI4IAAgCDgCPCAAIAc3AiggACAGNwIgIAAgBTcCAAu4AgEHfyMAQSBrIgMkACADIAAoAgQiBCACaiIFIARJIgY6ABQgAyAGOgATAkACQCAFIARPDQBBCCEGDAELAkAgACgCCCIHIAVPDQAgByEEA0BBfyAEQQF2IARqQQFqIgYgBiAESRsiBCAFSQ0ACyADQQhqIABBDGoiBSAAKAIAIgggByAEEEYCQAJAIAMoAggiBkUNACADKAIMIQQgACAGNgIADAELIANBFGogBSAEEEcgAy8BHCIGDQIgAygCGCEEIAMoAhQhBgJAIAAoAgQiCUUNACAGIAAoAgAgCUEGdPwKAAALIAUgCCAHEEggACAGNgIACyAAIAQ2AgggACgCBCIEIAJqIQULIAAgBTYCBEEAIQYgAkUNACAAKAIAIARBBnRqIAEgAkEGdPwKAAALIANBIGokACAGC78BAgF/AX4jAEEQayIFJAAgBSABKQIAIgY3AwACQAJAIAQNACAFIAIgAxBIQQAhAQwBCwJAIANFDQAgBSAEQf///x9LOgAMIARBgICAIE8NAEEAIQECQCAGpyACIANBBnRBAiAEQQZ0IgNBACAGQiCIpygCCBEEACICDQBBACECDAILIAJBqtWq1XogAxshAiAEQf///x9xQQAgAxshAQwBC0EAIQJBACEBCyAAIAI2AgAgACABNgIEIAVBEGokAAuyAQIBfwF+IwBBMGsiAyQAIAMgASkCADcDGCADIAJB////H0s6ACwCQAJAAkACQCACQYCAgCBJDQBBCCEBDAELIANBIGogA0EYaiACQQZ0EEEgAykDICIEQiCIpyIBQf//A3FFDQELIAMgATsBCCADIQIMAQsgAyACNgIQIAMgBD4CDCADQQA7ARQgA0EMaiECCyAAIAIpAgA3AgAgAEEIaiACQQhqKAIANgIAIANBMGokAAs4AgF/AX4CQCACQQZ0IgNFDQAgACkCACIEpyABQarVqtV6IAIbIANBAkEAIARCIIinKAIMEQEACwvLAQEBfyMAQfAAayIGJAAgBiABOAIYIAYgAjgCDCAGIAI4AgQgBiABOAIAIAYgAiAEkiICOAIcIAYgAjgCFCAGIAEgA5IiATgCECAGIAE4AgggBkEgakEAIAZDAAAAABBKIAZBNGpBASAGQwAAAAAQSiAGQcgAakECIAZDAAAAABBKIAZB3ABqQQMgBkMAAAAAEEogACAGQSBqIAZBNGogBkHIAGogBRBEIABBwABqIAZBIGogBkHIAGogBkHcAGogBRBEIAZB8ABqJAAL6AECAn8GfSMAQRBrIgQkACAEIAIgAUEDdGoiBSoCBCIGOAIEIAQgBSoCACIHOAIAIAQgAiABQX9qIgVBAyAFQQNJG0EDdGopAgA3AwggBCACIAFBAWpBA3FBA3RqEGwiCBC3AyEJIAQgBEEIahBsIgoQtwMhCyAIIAgQwAMgChDAA5IgCSALkhBUIgmTIggQwAMgCBC3AxBUIQggACADOAIQIAAgBjgCBCAAIAc4AgAgCEPbD0lAkhDAAyEIIAAgBiAJEMADIAMgCJUiA5SSOAIMIAAgByAJELcDIAOUkjgCCCAEQRBqJAALiAIDAX8BfgJ/IwBBMGsiAiQAIAIgASkCDCIDNwMQIAJBCGogAkEQaiABKAIAIAEoAgggASgCBBBGAkACQCACKAIIIgRFDQAgAigCDCEFIAEgAzcCDCABQQA2AgggAUKq1arVCjcCACAAQQA7AQggACAENgIAIAAgBTYCBAwBCyACQRxqIAJBEGogASgCBBBHAkAgAi8BJCIERQ0AIAAgBDsBCAwBCyACKAIcIQQCQCACKAIgIgVFDQAgBCABKAIAIAVBBnT8CgAACyACIAEpAgw3AyggAkEoaiABKAIAIAEoAggQSCABQgA3AgQgACAFNgIEIAAgBDYCACAAQQA7AQgLIAJBMGokAAveAQECfyMAQbABayICJABBACEDIAJBoAFqQQApAtSyEDcDACACQQApAsyyEDcDmAEgAkGoAWogAkGYAWogARAvAkACQCACLQCsAUUNACACQQRqIAIoApgBIAIoAqABIgNBAnRqQarVqtV6IAMbIAIoAqgBQZQBbGpBlAH8CgAAQQEhAwwBCyACQQRqQQBBlAH8CwAgAkECakEAOgAAIAJBADsBAAsgACACQQRqQZQB/AoAACAAIAM6AJQBIAAgAi8BADsAlQEgAEGXAWogAkECai0AADoAACACQbABaiQAC8ACAwF/B30BfyMAQfAAayIGJAAgAioCBCABKgIEkyACKgIAIAEqAgCTEFQiBxDAAyEIIAIqAgQhCSAGIANDAAAAP5QiAyAHQ9sPyT+SIgoQwAOUIgsgCSADIAiUIgiSIgmSOAIcIAcQtwMhDCACKgIAIQ0gBiADIAoQtwOUIgcgDSADIAyUIgOSIgqSOAIYIAYgCSALkzgCFCAGIAogB5M4AhAgBiABKgIEIAiTIgggC5M4AgwgBiABKgIAIAOTIgMgB5M4AgggBiAIIAuSOAIEIAYgAyAHkjgCACAGQSBqQQAgBiAFEEogBkE0aiICQQEgBiAFEEogBkHIAGoiAUECIAYgBRBKIAZB3ABqIg5BAyAGIAUQSiAAIAZBIGogAiABIAQQRCAAQcAAaiAGQSBqIAEgDiAEEEQgBkHwAGokAAuVBAIDfwd9IwBBwABrIgMkACADIAFBwAD8CgAAAkACQCACKAIAIgRBBU8NACADIAIoAgRBBHRqIgQgASACKAIIQQR0aiIFECghBiAEIAUQbCEHQQAqAsCyEEMAAPBBlCAGQ83MzD2UEL4DIQggBxDAAyEJIAEgAigCBEEEdGoiASoCBCIGIAkgCJSSIQkgBxC3AyEKIAEqAgAiByAKIAiUkiEIDAELAkAgBEEISw0AIAEgAigCCEEEdGoiASoCACEHIAMgAigCBEEEdGoiAioCACEIIAEqAgQhCSACKgIEIQogAiABECghCyACIAEQbCEGIAogCZJDAAAAP5QiCkEAKgLAshBDAADwQZQgC0MpXI89lBC+AyILIAYQwAOUIgyTIQkgCCAHkkMAAAA/lCIHIAsgBhC3A5QiC5MhCCAKIAySIQYgByALkiEHDAELIAEqAiQiBiABKgI0kkMAAAA/lCIJIAEqAgQgBpJDAAAAP5STIAEqAiAiBiABKgIwkkMAAAA/lCIIIAEqAgAgBpJDAAAAP5STEFQiB0PbD0k/kiIKEMADIQYgBxDAAyELIAZDzczMPZQgCUEAKgLAshAiDCALQwAAcEKUlJIiBpIhCSAKELcDQ83MzD2UIAggDCAHELcDQwAAcEKUlJIiB5IhCAsgACAJOAIMIAAgCDgCCCAAIAY4AgQgACAHOAIAIANBwABqJAALxwECAX4GfwJAIAEoAgQNACAAQgA3AgAPCyACEHAhAwJAAkAgASgCACIEDQBBACEFQX8hBgwBCyAEQXxqKAIAIgVBf2ohBgsgBEF4aiEHIAYgA6dxIQEgA0I5iKchCANAAkACQCAEIAFqLAAAIglFDQAgBUUNACAJQX9KDQEgCCAJQf8AcUcNASAHKAIAIAFBAnRqKAIAIAJHDQEgAEEBOgAEIAAgATYCAA8LIABCADcCAA8LIAVBf2ohBSABQQFqIAZxIQEMAAsLZwECfyMAQRBrIgAkACAAQQApAtyyEDcDCCAAQQhqQQAoAsyyEEEAKALUshBBmAFsEFFBAEIANwLMshBBAEEANgLUshACQEEAKALYshAiAUUNACABEC5BAEEANgLYshALIABBEGokAAsoAQF+AkAgAkUNACAAKQIAIgOnIAEgAkECQQAgA0IgiKcoAgwRAQALCy4AIAAgASoCBCACKgIEkkMAAAA/lDgCBCAAIAEqAgAgAioCAJJDAAAAP5Q4AgALIgAgACABKgIEIAIqAgSTOAIEIAAgASoCACACKgIAkzgCAAvcAgIEfwF9AkACQCABIAFcDQAgACAAWw0BCyAAIAGSDwsCQCABvCICQYCAgPwDRw0AIAAQVQ8LIAJBHnZBAnEiAyAAvCIEQR92ciEFAkACQAJAAkACQAJAAkACQCAEQf////8HcSIEDQBD2w9JQCEGIAUOBAICBwECCyACQf////8HcSICRQ0CIAJBgICA/AdHDQMgBEGAgID8B0cNBCAFQQJ0QfiaEGoqAgAPC0PbD0nADwsgAA8LQ9sPyT8gAJgPCwJAAkAgBEGAgID8B0YNACACQYCAgOgAaiAETw0BC0PbD8k/IACYDwsCQCADRQ0AQwAAAAAhBiAEQYCAgOgAaiACSQ0CCyAAIAGVixBVIQYMAQsgBUECdEGImxBqKgIAIQYMAQsCQAJAAkAgBQ4EAwABAgMLIAaMDwtD2w9JQCAGQy69uzOSkw8LIAZDLr27M5JD2w9JwJIPCyAGC54DBAF/AX0CfwN9IwBBEGsiASQAAkACQCAAiyICvCIDQYCAgOQESQ0AIABD2g/JPyAAmCAAIABcGyEADAELAkACQAJAAkAgA0GAgID3A0kNACADQYCA4PwDTw0CIANBgIDA+QNPDQEgAiACkkMAAIC/kiACQwAAAECSlSECQQAhBAwDC0EAIQQgACECIANBgICAzANPDQIgA0H///8DSw0DIAEgACAAlDgCDCABQQxqIQMMAwsgAkMAAIC/kiACQwAAgD+SlSECQQEhBAwBCwJAIANBgIDwgARJDQBDAACAvyAClSECQQMhBAwBCyACQwAAwL+SIAJDAADAP5RDAACAP5KVIQJBAiEECyACIAKUIgUgBZQiBiAGQ0cS2r2UQ5jKTL6SlCEHIAUgBiAGQyWsfD2UQw31ET6SlEOpqqo+kpQhBgJAIANBgICA9wNJDQAgBEECdCIDQZiQEGoqAgAgAiAHIAaSlCADQaiQEGoqAgCTIAKTkyICjCACIAC8QQBIGyEADAELIAIgAiAHIAaSlJMhAAsgAUEQaiQAIAALBwBBASAAdAsFACAAaAsZAEECIABBH3EiACABQR9xIgFJIAAgAUYbCxAAQRIgAEECc0EDcUEBdHYLSAECfyMAQRBrIgIkAEHUjBAhAwJAIAFBA3EiAUECRg0AIAJBAToADyACIAE6AA4gAkEOaiEDCyAAIAMvAAA7AAAgAkEQaiQACyEAQeD9jPQDIABBAnNBA3FBA3R2Qf8BcSABQQRzQQdxdgsTAEGokqcBIABBBHNBB3FBA2x2C2kAAkACQAJAAkACQAJAIAFBB3EOBgABAgUEAwALIABBH3EgAkEfcUkPCyAAQR9xIAJBH3FNDwsgAEEfcSACQR9xRg8LIABBH3EgAkEfcUcPCyAAQR9xIAJBH3FLDwsgAEEfcSACQR9xTwsWACAAQR9xIgAgAUEfcSIBIAAgAUsbCxYAIABBH3EiACABQR9xIgEgACABSRsLEgBBfyAAdCIAQX9zIAFqIABxCwoAQX8gAHQgAXELCwAgAWggAEEfcU8LBABBAAsEAEEACwIAC+kBAQl/IwBBEGsiBCQAIAQgAkEfcToAD0EBIAJ0IgUgAWohBgJAAkAgACgCCCICDQBBACEHIABBACAGEGciAkUNAQtBACAFayEIIAVBf2ohCQNAIAJBCGohCgNAAkAgCSAAKAIMIgUgCmoiB2ogCHEgB2sgBWoiCyABaiIFIAIoAgQiB0F4aiIMSw0AIAAgBTYCDCAKIAtqIQcMAwsCQCAAKAIAIAIgB0ECIAVBCGoiBUEAIAAoAgQoAgQRBABBAXFFDQAgAiAFNgIEDAELCyAAIAwgBhBnIgINAAtBACEHCyAEQRBqJAAgBwtYAAJAIAAoAgAgASACakEYaiICQQF2IAJqIgFBAkEAIAAoAgQoAgARAgAiAkUNACACQQA2AgAgAiABNgIEIAIgACgCCDYCACAAQQA2AgwgACACNgIICyACC3QBA39BACEGAkAgACgCCCIHRQ0AAkAgByAAKAIMIghqQQhqIAEgAmpGDQAgBCACTSEGDAELAkAgBCACSw0AIAAgBCACayAIajYCDEEBDwsgBygCBEF4aiAIayAEIAJrIgJJDQAgACAIIAJqNgIMQQEPCyAGCxgAIAFBACAAIAEgAiABIAQgARBoQQFxGwswAQJ/AkAgACgCCCIFRQ0AIAUgACgCDCIGakEIaiABIAJqRw0AIAAgBiACazYCDAsLaQIBfwF+IwBBIGsiAyQAIAMgASkCADcDCCADIAJB/////wFLOgAcAkACQCACQYCAgIACSQ0AQoCAgICAASEEDAELIANBEGogA0EIaiACQQN0EEEgAykDECEECyAAIAQ3AgAgA0EgaiQACxoAIAEqAgQgACoCBJMgASoCACAAKgIAkxBUC0YBAn0gACABKgIUIAIqAgAiAyABKgIMlCACKgIEIgQgASoCEJSSkjgCBCAAIAEqAgggAyABKgIAlCAEIAEqAgSUkpI4AgALiQEDA34DfQJ+IAEpAgAhBSADKQIAIQYgAykCCCEHIAMqAhAhCCACKgIQIQkgASoCECEKIAIpAgghCyACKQIAIQwgACABKQIINwIIIAAgDDcCECAAIAs3AhggACAENgIwIAAgCjgCNCAAIAk4AjggACAIOAI8IAAgBzcCKCAAIAY3AiAgACAFNwIAC10BAn8jAEEQayIBJAAgAUEAKQLQsxA3AwgCQCAAKAIAIgJFDQAgAUEIaiACQXRqIAJBfGooAgAiAiACQQV0akEPakF8cRBRIABBADYCCCAAQQA2AgALIAFBEGokAAspAgF/AX4jAEEQayIBJAAgASAANgIMIAFBDGoQtAEhAiABQRBqJAAgAgsOACABKAIAIAARBwBBAAsTACABKAIAIAEoAgQgABEAAEEAC9sBAQF/IwBBEGsiBCQAAkACQCACDQBBQCECA0ACQCACDQBBxJgQIQIMAwsCQCACQZi1EGooAgANACACQZi1EGogAzYCACAEQQA7AQQgBCACQaSSEGooAgA2AgAgBCECDAMLIAJBBGohAgwACwtBQCECA0ACQCACDQBBzJgQIQIMAgsCQCACQaSSEGooAgAgA0cNACACQZi1EGoiAigCACEDIAJBADYCACAEQQA7AQwgBCADNgIIIARBCGohAgwCCyACQQRqIQIMAAsLIAAgAikCADcCACAEQRBqJAALDgAgASgCACAAEQcAQQALaQIBfwJ9IwBBIGsiAiQAIAJBEGogAUEUaikCADcDACACIAEpAgQ3AwAgAiABKQIMNwMIIAIgASoCHCIDOAIYIAIgASoCICIEOAIcIAEgAiACQQhqIAMgBCAAEQUANgIAIAJBIGokAEEAC9sBAQF/IwBBEGsiBCQAAkACQCACDQBBQCECA0ACQCACDQBBxJgQIQIMAwsCQCACQdi1EGooAgANACACQdi1EGogAzYCACAEQQA7AQQgBCACQeSSEGooAgA2AgAgBCECDAMLIAJBBGohAgwACwtBQCECA0ACQCACDQBBzJgQIQIMAgsCQCACQeSSEGooAgAgA0cNACACQdi1EGoiAigCACEDIAJBADYCACAEQQA7AQwgBCADNgIIIARBCGohAgwCCyACQQRqIQIMAAsLIAAgAikCADcCACAEQRBqJAALEwAgASgCACABKAIEIAARAABBAAtWAgF/A30jAEEgayICJAAgAiABKQIANwMIIAIgASoCCCIDOAIQIAIgASoCDCIEOAIUIAIgASoCECIFOAIYIAJBCGogAyAEIAUgABEIACACQSBqJABBAAsTACABIAEqAgAgABEJADsBBEEAC1YBBH8jAEHQAGsiAiQAIAIgASgCACIDNgIIIAJBCGpBBGoiBCABQQRqQcAA/AoAACACIAEoAkQiBTYCTCABIAMgBCAFIAARCgA7AUggAkHQAGokAEEACw4AIAEgABELADsBAEEACw4AIAEoAgAgABEHAEEAC9sBAQF/IwBBEGsiBCQAAkACQCACDQBBQCECA0ACQCACDQBBxJgQIQIMAwsCQCACQZi0EGooAgANACACQZi0EGogAzYCACAEQQA7AQQgBCACQaiPEGooAgA2AgAgBCECDAMLIAJBBGohAgwACwtBQCECA0ACQCACDQBBzJgQIQIMAgsCQCACQaiPEGooAgAgA0cNACACQZi0EGoiAigCACEDIAJBADYCACAEQQA7AQwgBCADNgIIIARBCGohAgwCCyACQQRqIQIMAAsLIAAgAikCADcCACAEQRBqJAALSgIBfwJ9IwBBEGsiAiQAIAIgASkCADcDACACIAEqAggiAzgCCCACIAEqAgwiBDgCDCABIAIgAyAEIAARDAA7ARAgAkEQaiQAQQALEwAgASoCACABKgIEIAARDQBBAAsJACAAEQYAQQAL2wEBAX8jAEEQayIEJAACQAJAIAINAEFAIQIDQAJAIAINAEHEmBAhAgwDCwJAIAJB2LQQaigCAA0AIAJB2LQQaiADNgIAIARBADsBBCAEIAJB6I8QaigCADYCACAEIQIMAwsgAkEEaiECDAALC0FAIQIDQAJAIAINAEHMmBAhAgwCCwJAIAJB6I8QaigCACADRw0AIAJB2LQQaiICKAIAIQMgAkEANgIAIARBADsBDCAEIAM2AgggBEEIaiECDAILIAJBBGohAgwACwsgACACKQIANwIAIARBEGokAAsdACABIAEoAgAgASgCBCABLQAKIAARCgA7AQhBAAsxAQJ/IwBBEGsiAiQAIAIgAS0AAkEBcSIDOgAPIAEgAyAAEQ4AOwEAIAJBEGokAEEAC1MBBH8jAEEwayICJAAgAiABKAIEIgM2AgggAiABKAIAIgQ2AgQgAkEEakEIaiIFIAFBCGpBJPwKAAAgASAEIAMgBSAAEQoAOwEsIAJBMGokAEEACzoBAX8jAEEQayIEJAAgBCACQR9xIgI6AAwgACgCACABIAIgAyAAKAIEKAIAEQIAIQAgBEEQaiQAIAALPgEBfyMAQRBrIgYkACAGIANBH3EiAzoADCAAKAIAIAEgAiADIAQgBSAAKAIEKAIEEQQAIQAgBkEQaiQAIAALPgEBfyMAQRBrIgYkACAGIANBH3EiAzoADCAAKAIAIAEgAiADIAQgBSAAKAIEKAIIEQQAIQAgBkEQaiQAIAALOAEBfyMAQRBrIgUkACAFIANBH3EiAzoADCAAKAIAIAEgAiADIAQgACgCBCgCDBEBACAFQRBqJAALDgAgAEEAKALYsxAQigELVgEBfyMAQRBrIgIkACACIAA2AgwCQAJAAkACQCABIAJBDGpBBBCzAQ4EAAMBAgALIAJBEGokAA8LQbCLEEEiED4AC0GVixBBGhA+AAtB+ooQQRoQPgALDgAgAEEAKALcsxAQigELDgAgAEEAKALgsxAQigELDgAgAEEAKALksxAQigELDgAgAEEAKALosxAQigELDgAgAEEAKALssxAQigELDgAgAEEAKALwsxAQigELDgAgAEEAKAL0sxAQigELDgAgAEEAKAL4sxAQigELDgAgAEEAKAL8sxAQigELDgAgAEEAKAKAtBAQigELDgAgAEEAKAKEtBAQigELDgAgAEEAKAKItBAQigELDgAgAEEAKAKMtBAQigELDgAgAEEAKAKQtBAQigELDgAgAEEAKAKUtBAQigELDABBACgCmLQQEJsBCz4AAkACQAJAAkAgAEGq1arVekEAELMBDgQAAwECAAsPC0GwixBBIhA+AAtBlYsQQRoQPgALQfqKEEEaED4ACwwAQQAoApy0EBCbAQsMAEEAKAKgtBAQmwELDABBACgCpLQQEJsBCwwAQQAoAqi0EBCbAQsMAEEAKAKstBAQmwELDABBACgCsLQQEJsBCwwAQQAoArS0EBCbAQsMAEEAKAK4tBAQmwELDABBACgCvLQQEJsBCwwAQQAoAsC0EBCbAQsMAEEAKALEtBAQmwELDABBACgCyLQQEJsBCwwAQQAoAsy0EBCbAQsMAEEAKALQtBAQmwELDABBACgC1LQQEJsBC0ABAn8jAEEQayICJAAgAiABLQAQQR9xIgM6AAwgASABKAIEIAEoAgggAyABKAIMIAARAgA2AgAgAkEQaiQAQQAL2wEBAX8jAEEQayIEJAACQAJAIAINAEFAIQIDQAJAIAINAEHEmBAhAgwDCwJAIAJB3LoQaigCAA0AIAJB3LoQaiADNgIAIARBADsBBCAEIAJBxJgQaigCADYCACAEIQIMAwsgAkEEaiECDAALC0FAIQIDQAJAIAINAEHMmBAhAgwCCwJAIAJBxJgQaigCACADRw0AIAJB3LoQaiICKAIAIQMgAkEANgIAIARBADsBDCAEIAM2AgggBEEIaiECDAILIAJBBGohAgwACwsgACACKQIANwIAIARBEGokAAtNAQJ/IwBBEGsiAiQAIAIgAS0AFUEfcSIDOgAMIAEgASgCACAB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IQIMAgsCQCACQcSWEGooAgAgA0cNACACQdy4EGoiAigCACEDIAJBADYCACAEQQA7AQwgBCADNgIIIARBCGohAgwCCyACQQRqIQIMAAsLIAAgAikCADcCACAEQRBqJAALGAAgASgCACABKAIEIAEoAgggABEDAEEAC9sBAQF/IwBBEGsiBCQAAkACQCACDQBBQCECA0ACQCACDQBBxJgQIQIMAwsCQCACQZy5EGooAgANACACQZy5EGogAzYCACAEQQA7AQQgBCACQYSXEGooAgA2AgAgBCECDAMLIAJBBGohAgwACwtBQCECA0ACQCACDQBBzJgQIQIMAgsCQCACQYSXEGooAgAgA0cNACACQZy5EGoiAigCACEDIAJBADYCACAEQQA7AQwgBCADNgIIIARBCGohAgwCCyACQQRqIQIMAAsLIAAgAikCADcCACAEQRBqJAAL2wEBAX8jAEEQayIEJAACQAJAIAINAEFAIQIDQAJAIAINAEHEmBAhAgwDCwJAIAJB3LkQaigCAA0AIAJB3LkQaiADNgIAIARBADsBBCAEIAJBxJcQaigCADYCACAEIQIMAwsgAkEEaiECDAALC0FAIQIDQAJAIAINAEHMmBAhAgwCCwJAIAJBxJcQaigCACADRw0AIAJB3LkQaiICKAIAIQMgAkEANgIAIARBADsBDCAEIAM2AgggBEEIaiECDAILIAJBBGohAgwACwsgACACKQIANwIAIARBEGokAAvbAQEBfyMAQRBrIgQkAAJAAkAgAg0AQUAhAgNAAkAgAg0AQcSYECECDAMLAkAgAkGcuhBqKAIADQAgAkGcuhBqIAM2AgAgBEEAOwEEIAQgAkGEmBBqKAIANgIAIAQhAgwDCyACQQRqIQIMAAsLQUAhAgNAAkAgAg0AQcyYECECDAILAkAgAkGEmBBqKAIAIANHDQAgAkGcuhBqIgIoAgAhAyACQQA2AgAgBEEAOwEMIAQgAzYCCCAEQQhqIQIMAgsgAkEEaiECDAALCyAAIAIpAgA3AgAgBEEQaiQAC1wBBH8jAEEgayICJAAgAiABKQIENwMIIAIgASgCDCIDNgIQIAIgASgCECIENgIYIAIgAS0AFEEfcSIFOgAUIAEgAkEIaiADIAUgBCAAEQIANgIAIAJBIGokAEEAC3gBBn8jAEEgayICJAAgAiABKQIANwMAIAIgASgCDCIDNgIMIAIgASgCCCIENgIIIAIgASgCECIFNgIUIAIgASgCFCIGNgIYIAIgAS0AGUEfcSIHOgAQIAEgAiAEIAMgByAFIAYgABEEAEEBcToAGCACQSBqJABBAAt1AQZ/IwBBIGsiAiQAIAIgASkCBDcDACACIAEoAhAiAzYCDCACIAEoAgwiBDYCCCACIAEoAhQiBTYCFCACIAEoAhgiBjYCGCACIAEtABxBH3EiBzoAECABIAIgBCADIAcgBSAGIAARBAA2AgAgAkEgaiQAQQALZQEEfyMAQSBrIgIkACACIAEpAgA3AwggAiABKAIMIgM2AhQgAiABKAIIIgQ2AhAgAiABKAIQIgU2AhwgAiABLQAUQR9xIgE6ABggAkEIaiAEIAMgASAFIAARAQAgAkEgaiQAQQALawEBfyMAQTBrIgIkACACQRBqIAFBEGopAgA3AwAgAkEgaiABQSBqKQIANwMAIAIgASkCCDcDCCACIAEpAhg3AxggAkEoaiACQQhqIAJBCGpBEGogABEDACABIAIpAyg3AgAgAkEwaiQAQQALWwEBfyMAQSBrIgIkACACQQhqIAFBDGopAgA3AwAgAkEYaiABQRxqKQIANwMAIAIgASkCBDcDACACIAEpAhQ3AxAgASACIAJBEGogABEPADgCACACQSBqJABBAAsQACAAIAFBACgC2LQQEMUBC10BAX8jAEEQayIDJAAgAyABNgIMIAMgADYCCAJAAkACQAJAIAIgA0EIakEIELMBDgQAAwECAAsgA0EQaiQADwtBsIsQQSIQPgALQZWLEEEaED4AC0H6ihBBGhA+AAsQACAAIAFBACgC3LQQEMUBCxAAIAAgAUEAKALgtBAQxQELEAAgACABQQAoAuS0EBDFAQsQACAAIAFBACgC6LQQEMUBCxAAIAAgAUEAKALstBAQxQELEAAgACABQQAoAvC0EBDFAQsQACAAIAFBACgC9LQQEMUBCxAAIAAgAUEAKAL4tBAQxQELEAAgACABQQAoAvy0EBDFAQsQACAAIAFBACgCgLUQEMUBCxAAIAAgAUEAKAKEtRAQxQELEAAgACABQQAoAoi1EBDFAQsQACAAIAFBACgCjLUQEMUBCxAAIAAgAUEAKAKQtRAQxQELEAAgACABQQAoApS1EBDFAQt1AQF/IwBBMGsiBCQAIARBGGogAUEIaikCADcDACAEIAM4AiQgBCACOAIgIAQgASkCADcDECAEIAApAgA3AwggBEEANgIoIARBACgCmLUQIgE2AiwgBEEIaiAEQQhqQQhqIAIgAyABENYBIQEgBEEwaiQAIAELigEBAX8jAEEwayIFJAAgBUEgaiABQQhqKQIANwIAIAUgAzgCLCAFIAI4AiggBSABKQIANwIYIAUgACkCADcCEAJAAkACQAJAIAQgBUEMakEkELMBDgQAAwECAAsgBSgCDCEBIAVBMGokACABDwtBsIsQQSIQPgALQZWLEEEaED4AC0H6ihBBGhA+AAt1AQF/IwBBMGsiBCQAIARBGGogAUEIaikCADcDACAEIAM4AiQgBCACOAIgIAQgASkCADcDECAEIAApAgA3AwggBEEANgIoIARBACgCnLUQIgE2AiwgBEEIaiAEQQhqQQhqIAIgAyABENYBIQEgBEEwaiQAIAELdQEBfyMAQTBrIgQkACAEQRhqIAFBCGopAgA3AwAgBCADOAIkIAQgAjgCICAEIAEpAgA3AxAgBCAAKQIANwMIIARBADYCKCAEQQAoAqC1ECIBNgIsIARBCGogBEEIakEIaiACIAMgARDWASEBIARBMGokACABC3UBAX8jAEEwayIEJAAgBEEYaiABQQhqKQIANwMAIAQgAzgCJCAEIAI4AiAgBCABKQIANwMQIAQgACkCADcDCCAEQQA2AiggBEEAKAKktRAiATYCLCAEQQhqIARBCGpBCGogAiADIAEQ1gEhASAEQTBqJAAgAQt1AQF/IwBBMGsiBCQAIARBGGogAUEIaikCADcDACAEIAM4AiQgBCACOAIgIAQgASkCADcDECAEIAApAgA3AwggBEEANgIoIARBACgCqLUQIgE2AiwgBEEIaiAEQQhqQQhqIAIgAyABENYBIQEgBEEwaiQAIAELdQEBfyMAQTBrIgQkACAEQRhqIAFBCGopAgA3AwAgBCADOAIkIAQgAjgCICAEIAEpAgA3AxAgBCAAKQIANwMIIARBADYCKCAEQQAoAqy1ECIBNgIsIARBCGogBEEIakEIaiACIAMgARDWASEBIARBMGokACABC3UBAX8jAEEwayIEJAAgBEEYaiABQQhqKQIANwMAIAQgAzgCJCAEIAI4AiAgBCABKQIANwMQIAQgACkCADcDCCAEQQA2AiggBEEAKAKwtRAiATYCLCAEQQhqIARBCGpBCGogAiADIAEQ1gEhASAEQTBqJAAgAQt1AQF/IwBBMGsiBCQAIARBGGogAUEIaikCADcDACAEIAM4AiQgBCACOAIgIAQgASkCADcDECAEIAApAgA3AwggBEEANgIoIARBACgCtLUQIgE2AiwgBEEIaiAEQQhqQQhqIAIgAyABENYBIQEgBEEwaiQAIAELdQEBfyMAQTBrIgQkACAEQRhqIAFBCGopAgA3AwAgBCADOAIkIAQgAjgCICAEIAEpAgA3AxAgBCAAKQIANwMIIARBADYCKCAEQQAoAri1ECIBNgIsIARBCGogBEEIakEIaiACIAMgARDWASEBIARBMGokACABC3UBAX8jAEEwayIEJAAgBEEYaiABQQhqKQIANwMAIAQgAzgCJCAEIAI4AiAgBCABKQIANwMQIAQgACkCADcDCCAEQQA2AiggBEEAKAK8tRAiATYCLCAEQQhqIARBCGpBCGogAiADIAEQ1gEhASAEQTBqJAAgAQt1AQF/IwBBMGsiBCQAIARBGGogAUEIaikCADcDACAEIAM4AiQgBCACOAIgIAQgASkCADcDECAEIAApAgA3AwggBEEANgIoIARBACgCwLUQIgE2AiwgBEEIaiAEQQhqQQhqIAIgAyABENYBIQEgBEEwaiQAIAELdQEBfyMAQTBrIgQkACAEQRhqIAFBCGopAgA3AwAgBCADOAIkIAQgAjgCICAEIAEpAgA3AxAgBCAAKQIANwMIIARBADYCKCAEQQAoAsS1ECIBNgIsIARBCGogBEEIakEIaiACIAMgARDWASEBIARBMGokACABC3UBAX8jAEEwayIEJAAgBEEYaiABQQhqKQIANwMAIAQgAzgCJCAEIAI4AiAgBCABKQIANwMQIAQgACkCADcDCCAEQQA2AiggBEEAKALItRAiATYCLCAEQQhqIARBCGpBCGogAiADIAEQ1gEhASAEQTBqJAAgAQt1AQF/IwBBMGsiBCQAIARBGGogAUEIaikCADcDACAEIAM4AiQgBCACOAIgIAQgASkCADcDECAEIAApAgA3AwggBEEANgIoIARBACgCzLUQIgE2AiwgBEEIaiAEQQhqQQhqIAIgAyABENYBIQEgBEEwaiQAIAELdQEBfyMAQTBrIgQkACAEQRhqIAFBCGop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AzoACCAFIAM6AAwgACABIAIgAyAEQQAoApC3EBCJAiAFQRBqJAALOwEBfyMAQRBrIgUkACAFIANBH3EiAzoACCAFIAM6AAwgACABIAIgAyAEQQAoApS3EBCJAiAFQRBqJAALMQECfyMAQRBrIgIkACACIAEtAARBH3EiAzoADyABIAMgABEOADYCACACQRBqJABBAAsWACABIAEoAgAgABEOAEEfcToABEEAC0UBA38jAEEQayICJAAgAiABLQABQR9xIgM6AA8gAiABLQACQR9xIgQ6AA4gASADIAQgABEQAEEDcToAACACQRBqJABBAAtWAQR/IwBBEGsiAiQAIAIgAS0AAUEfcSIDOgAPIAIgAS0AAkEHcSIEOgAOIAIgAS0AA0EfcSIFOgANIAEgAyAEIAUgABEKAEEBcToAACACQRBqJABBAAtFAQN/IwBBEGsiAiQAIAIgAS0AAUEfcSIDOgAPIAIgAS0AAkEfcSIEOgAOIAEgAyAEIAAREABBH3E6AAAgAkEQaiQAQQALNgECfyMAQRBrIgIkACACIAEtAAhBH3EiAzoADCABIAMgASgCBCAAERAANgIAIAJBEGokAEEACzkBAn8jAEEQayICJAAgAiABLQAFQR9xIgM6AAwgASADIAEoAgAgABEQAEEBcToABCACQRBqJABBAAtMAQF/IwBB8ABrIgIkACACQQRqIABB4AD8CgAAIAIgATYCZCACQQA2AmggAkEAKAKctxAiADYCbCACQQRqIAEgABChAiACQfAAaiQAC2cBAX8jAEHwAGsiAyQAIANBDGogAEHgAPwKAAAgAyABNgJsAkACQAJAAkAgAiADQQxqQeQAELMBDgQAAwECAAsgA0HwAGokAA8LQbCLEEEiED4AC0GVixBBGhA+AAtB+ooQQRoQPgALTAEBfyMAQfAAayICJAAgAkEEaiAAQeAA/AoAACACIAE2AmQgAkEANgJoIAJBACgCoLcQIgA2AmwgAkEEaiABIAAQoQIgAkHwAGokAAtMAQF/IwBB8ABrIgIkACACQQRqIABB4AD8CgAAIAIgATYCZCACQQA2AmggAkEAKAKktxAiADYCbCACQQRqIAEgABChAiACQfAAaiQAC0wBAX8jAEHwAGsiAiQAIAJBBGogAEHgAPwKAAAgAiABNgJkIAJBADYCaCACQQAoAqi3ECIANgJsIAJBBGogASAAEKECIAJB8ABqJAALTAEBfyMAQfAAayICJAAgAkEEaiAAQeAA/AoAACACIAE2AmQgAkEANgJoIAJBACgCrLcQIgA2AmwgAkEEaiABIAAQoQIgAkHwAGokAAtMAQF/IwBB8ABrIgIkACACQQRqIABB4AD8CgAAIAIgATYCZCACQQA2AmggAkEAKAKwtxAiADYCbCACQQRqIAEgABChAiACQfAAaiQAC0wBAX8jAEHwAGsiAiQAIAJBBGogAEHgAPwKAAAgAiABNgJkIAJBADYCaCACQQAoArS3ECIANgJsIAJBBGogASAAEKECIAJB8ABqJAALTAEBfyMAQfAAayICJAAgAkEEaiAAQeAA/AoAACACIAE2AmQgAkEANgJoIAJBACgCuLcQIgA2AmwgAkEEaiABIAAQoQIgAkHwAGokAAtMAQF/IwBB8ABrIgIkACACQQRqIABB4AD8CgAAIAIgATYCZCACQQA2AmggAkEAKAK8txAiADYCbCACQQRqIAEgABChAiACQfAAaiQAC0wBAX8jAEHwAGsiAiQAIAJBBGogAEHgAPwKAAAgAiABNgJkIAJBADYCaCACQQAoAsC3ECIANgJsIAJBBGogASAAEKECIAJB8ABqJAALTAEBfyMAQfAAayICJAAgAkEEaiAAQeAA/AoAACACIAE2AmQgAkEANgJoIAJBACgCxLcQIgA2AmwgAkEEaiABIAAQoQIgAkHwAGokAAtMAQF/IwBB8ABrIgIkACACQQRqIABB4AD8CgAAIAIgATYCZCACQQA2AmggAkEAKALItxAiADYCbCACQQRqIAEgABChAiACQfAAaiQAC0wBAX8jAEHwAGsiAiQAIAJBBGogAEHgAPwKAAAgAiABNgJkIAJBADYCaCACQQAoAsy3ECIANgJsIAJBBGogASAAEKECIAJB8ABqJAALTAEBfyMAQfAAayICJAAgAkEEaiAAQeAA/AoAACACIAE2AmQgAkEANgJoIAJBACgC0LcQIgA2AmwgAkEEaiABIAAQoQIgAkHwAGokAAtMAQF/IwBB8ABrIgIkACACQQRqIABB4AD8CgAAIAIgATYCZCACQQA2AmggAkEAKALUtxAiADYCbCACQQRqIAEgABChAiACQfAAaiQAC0wBAX8jAEHwAGsiAiQAIAJBBGogAEHgAPwKAAAgAiABNgJkIAJBADYCaCACQQAoAti3ECIANgJsIAJBBGogASAAEKECIAJB8ABqJAALEAAgACABQQAoAty3EBDFAQsQACAAIAFBACgC4LcQEMUBCxAAIAAgAUEAKALktxAQxQELEAAgACABQQAoAui3EBDFAQsQACAAIAFBACgC7LcQEMUBCxAAIAAgAUEAKALwtxAQxQELEAAgACABQQAoAvS3EBDFAQsQACAAIAFBACgC+LcQEMUBCxAAIAAgAUEAKAL8txAQxQELEAAgACABQQAoAoC4EBDFAQsQACAAIAFBACgChLgQEMUBCxAAIAAgAUEAKAKIuBAQxQELEAAgACABQQAoAoy4EBDFAQsQACAAIAFBACgCkLgQEMUBCxAAIAAgAUEAKAKUuBAQxQELEAAgACABQQAoApi4EBDFAQtlAQJ/IwBB0ABrIgUkACAFQRhqIgYgBEEw/AoAACAFIAM2AhQgBSACNgIQIAUgATYCDCAFIAA2AgggBUEANgJIIAVBACgCnLgQIgQ2AkwgACABIAIgAyAGIAQQwgIgBUHQAGokAAt4AQF/IwBBwABrIgYkACAGQRBqIARBMPwKAAAgBiADNgIMIAYgAjYCCCAGIAE2AgQgBiAANgIAAkACQAJAAkAgBSAGQcAAELMBDgQAAwECAAsgBkHAAGokAA8LQbCLEEEiED4AC0GVixBBGhA+AAtB+ooQQRoQPgALZQECfyMAQdAAayIFJAAgBUEYaiIGIARBMPwKAAAgBSADNgIUIAUgAjYCECAFIAE2AgwgBSAANgIIIAVBADYCSCAFQQAoAqC4ECIENgJMIAAgASACIAMgBiAEEMICIAVB0ABqJAALZQECfyMAQdAAayIFJAAgBUEYaiIGIARBMPwKAAAgBSADNgIUIAUgAjYCECAFIAE2AgwgBSAANgIIIAVBADYCSCAFQQAoAqS4ECIENgJMIAAgASACIAMgBiAEEMICIAVB0ABqJAALZQECfyMAQdAAayIFJAAgBUEYaiIGIARBMPwKAAAgBSADNgIUIAUgAjYCECAFIAE2AgwgBSAANgIIIAVBADYCSCAFQQAoAqi4ECIENgJMIAAgASACIAMgBiAEEMICIAVB0ABqJAALZQECfyMAQdAAayIFJAAgBUEYaiIGIARBMPwKAAAgBSADNgIUIAUgAjYCECAFIAE2AgwgBSAANgIIIAVBADYCSCAFQQAoAqy4ECIENgJMIAAgASACIAMgBiAEEMICIAVB0ABqJAALZQECfyMAQdAAayIFJAAgBUEYaiIGIARBMPwKAAAgBSADNgIUIAUgAjYCECAFIAE2AgwgBSAANgIIIAVBADYCSCAFQQAoArC4ECIENgJMIAAgASACIAMgBiAEEMICIAVB0ABqJAALZQECfyMAQdAAayIFJAAgBUEYaiIGIARBMPwKAAAgBSADNgIUIAUgAjYCECAFIAE2AgwgBSAANgIIIAVBADYCSCAFQQAoArS4ECIENgJMIAAgASACIAMgBiAEEMICIAVB0ABqJAALZQECfyMAQdAAayIFJAAgBUEYaiIGIARBMPwKAAAgBSADNgIUIAUgAjYCECAFIAE2AgwgBSAANgIIIAVBADYCSCAFQQAoAri4ECIENgJMIAAgASACIAMgBiAEEMICIAVB0ABqJAALZQECfyMAQdAAayIFJAAgBUEYaiIGIARBMPwKAAAgBSADNgIUIAUgAjYCECAFIAE2AgwgBSAANgIIIAVBADYCSCAFQQAoAry4ECIENgJMIAAgASACIAMgBiAEEMICIAVB0ABqJAALZQECfyMAQdAAayIFJAAgBUEYaiIGIARBMPwKAAAgBSADNgIUIAUgAjYCECAFIAE2AgwgBSAANgIIIAVBADYCSCAFQQAoAsC4ECIENgJMIAAgASACIAMgBiAEEMICIAVB0ABqJAALZQECfyMAQdAAayIFJAAgBUEYaiIGIARBMPwKAAAgBSADNgIUIAUgAjYCECAFIAE2AgwgBSAANgIIIAVBADYCSCAFQQAoAsS4ECIENgJMIAAgASACIAMgBiAEEMICIAVB0ABqJAALZQECfyMAQdAAayIFJAAgBUEYaiIGIARBMPwKAAAgBSADNgIUIAUgAjYCECAFIAE2AgwgBSAANgIIIAVBADYCSCAFQQAoAsi4ECIENgJMIAAgASACIAMgBiAEEMICIAVB0ABqJAALZQECfyMAQdAAayIFJAAgBUEYaiIGIARBMPwKAAAgBSADNgIUIAUgAjYCECAFIAE2AgwgBSAANgIIIAVBADYCSCAFQQAoAsy4ECIENgJMIAAgASACIAMgBiAEEMICIAVB0ABqJAALZQECfyMAQdAAayIFJAAgBUEYaiIGIARBMPwKAAAgBSADNgIUIAUgAjYCECAFIAE2AgwgBSAANgIIIAVBADYCSCAFQQAoAtC4ECIENgJMIAAgASACIAMgBiAEEMICIAVB0ABqJAALZQECfyMAQdAAayIFJAAgBUEYaiIGIARBMPwKAAAgBSADNgIUIAUgAjYCECAFIAE2AgwgBSAANgIIIAVBADYCSCAFQQAoAtS4ECIENgJMIAAgASACIAMgBiAEEMICIAVB0ABqJAALZQECfyMAQdAAayIFJAAgBUEYaiIGIARBMPwKAAAgBSADNgIUIAUgAjYCECAFIAE2AgwgBSAANgIIIAVBADYCSCAFQQAoAti4ECIENgJMIAAgASACIAMgBiAEEMICIAVB0ABqJAALEgAgACABIAJBACgC3LgQENMCC2QBAX8jAEEQayIEJAAgBCACNgIMIAQgATYCCCAEIAA2AgQCQAJAAkACQCADIARBBGpBDBCzAQ4EAAMBAgALIARBEGokAA8LQbCLEEEiED4AC0GVixBBGhA+AAtB+ooQQRoQPgALEgAgACABIAJBACgC4LgQENMCCxIAIAAgASACQQAoAuS4EBDTAgsSACAAIAEgAkEAKALouBAQ0wILEgAgACABIAJBACgC7LgQENMCCxIAIAAgASACQQAoAvC4EBDTAgsSACAAIAEgAkEAKAL0uBAQ0wILEgAgACABIAJBACgC+LgQENMCCxIAIAAgASACQQAoAvy4EBDTAgsSACAAIAEgAkEAKAKAuRAQ0wILEgAgACABIAJBACgChLkQENMCCxIAIAAgASACQQAoAoi5EBDTAgsSACAAIAEgAkEAKAKMuRAQ0wILEgAgACABIAJBACgCkLkQENMCCxIAIAAgASACQQAoApS5EBDTAgsSACAAIAEgAkEAKAKYuRAQ0wILEgAgACABIAJBACgCnLkQENMCCxIAIAAgASACQQAoAqC5EBDTAgsSACAAIAEgAkEAKAKkuRAQ0wILEgAgACABIAJBACgCqLkQENMCCxIAIAAgASACQQAoAqy5EBDTAgsSACAAIAEgAkEAKAKwuRAQ0wILEgAgACABIAJBACgCtLkQENMCCxIAIAAgASACQQAoAri5EBDTAgsSACAAIAEgAkEAKAK8uRAQ0wILEgAgACABIAJBACgCwLkQENMCCxIAIAAgASACQQAoAsS5EBDTAgsSACAAIAEgAkEAKALI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IgMgAUL/////D4MiAX4iBUIgiCADIAR+fCIDQiCIfCADQv////8PgyACIAF+fCIBQiCIfDcDCCAAIAFCIIYgBUL/////D4OENwMAC8kBAwF/AX4Cf0EAIQICQAJAAkAgAb0iA0I0iKciBEH/D3EiBUUNACAFQf8PRw0BDAILIANC/////////weDUA0BIANCgICAgICAgICAf4NCACADIANCDIZ5pyICQQFqrYZC/////////weDIAJBP3FBMksbhEKAgICAgICA8D+EIQNBgnggAmshAgwBCyADQv////////+HgH+DQoCAgICAgIDwP4QhAyAEQf8PcUGCeGohAgsgAEEANgIMIAAgAjYCCCAAIAM3AwAL1AICA34CfwJAAkAgACAAYg0AIAC9IgJC////////////AINCgICAgICAgPj/AFoNACACQoCAgICAgICAgH+DIQNBCyACQgGGIgR5p2sgBEI1iKcgBEKAgICAgICAEFQbIQUCQCABQQBIDQACQEH+DyAFayABTg0AIANCgICAgICAgPj/AIS/DwsCQCAFIAFqIgZBAEoNACACIAFBP3GthiADhL8PCwJAIAVBAEoNACACQQEgBWuthkL/////////B4MgBq1CNIaEIAOEvw8LIAGtQjSGIAJ8vw8LQQAgAWshBkEAIAVrIAFIDQECQEFMIAVrIAFMDQAgA78PCyAFQQBKrUI0hiACQv////////8Hg4QgBkEBIAUgAWprIgEgBiABSBtBf2pBP3GtIgSIQgF8QgGIIAJ6IARRrUJ/hYMgA4S/IQALIAAPCyACIAatQjSGfb8LJwACQCAAIABcDQACQCABIAFbDQAgAA8LIAEgACAAIAFdGyEBCyABC2gCAX4BfwJAAkAgAL1C////////////AIMiAUI0iKciAkH/D0YNACACDQECQCABUEUNAEGAgICAeA8LQY14IAF5p2sPC0GAgICAeEH/////ByABQoCAgICAgID4/wBWGw8LIAJBgXhqC54DAwN/AX0BfCMAQRBrIgEkAAJAAkAgALwiAkH/////B3EiA0Han6T6A0sNAEMAAIA/IQQgA0GAgIDMA0kNASAAuxC4AyEEDAELAkACQAJAAkAgA0HSp+2DBEkNACADQdbjiIcETw0CIANB39u/hQRNDQFEGC1EVPshGcBEGC1EVPshGUAg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IA8gBygCALeiOQMAIAdBfGohByAJQXhqIQkgCEF/aiEIIA9EAAAAAAAAcD6iIQ8MAAsLIAVBkANqIAlBA3RqIA85AwAgCkEIaiEKIAlBAWohCQwACwsgAiAPOQMAIAJBCGohAiAIQX9qIQggCUEEaiEJIAdBAWohBwwACwvvAQMCfwF9AnwCQAJAAkACQAJAIAC8IgFB/////wdxIgJBgIDwlwRNDQAgAkGAgID8B0sNAyABQYCAgJgESA0BIABDAAAAf5QPCyACQYGAgJgDSQ0BDAMLIAFBAE4NAkMAAAAADwsgAEMAAIA/kiEACyAADwsgAEMAAEBJkiIDvEEIaiICQQ9xQQN0QcCxEGorAwAiBCAAIANDAABAyZKTuyIFRAAAAAC+v84/okQAAAAAQy7mP6AgBCAFoiIEoqAgBUQAAADAybKDP6JEAAAAgDRrrD+gIAUgBaIgBKKioCACQQR2Qf8Haq1CNIa/orYLmAUDA38CfAF+IwBBMGsiAyQAAkACQAJAIAC9Qv///////////wCDQv/////////3/wBWDQAgAb1C////////////AINCgICAgICAgPj/AFQNAQsgACABoiACoCECDAELIAK9Qv///////////wCDQv/////////3/wBWDQACQAJAIABEAAAAAAAAAABhDQAgAUQAAAAAAAAAAGINAQsgACABoiACoCECDAELAkAgAkQAAAAAAAAAAGINACAAIAGiIQIMAQsgAyAAELMDIAMrAwAhACADKAIIIQQgA0EQaiABELMDIAMrAxAhASADKAIYIQUgA0EgaiACELMDIAMrAyAhAgJAAkAgBSAEaiIEIAMoAihrIgVB6wBIDQAgAr1CgICAgICAgICAf4NCgICAgICAgAiEvyEGDAELIAJBACAFaxC0AyEGCyAAIABEAAAAAgAAoEGiIgIgACACoaAiAqEiByABIAFEAAAAAgAAoEGiIgAgASAAoaAiAKEiAaIgByAAoiACIAGioCIBIAIgAKIiAiACIAGgIgChoKAhAQJAIAAgBqAiAkQAAAAAAAAAAGINACACIAEgBBC0A6AhAgwBCwJAIAEgASAGIAIgAKEiB6EgACACIAehoaAiBqAiACAGoSIHoSAGIAAgB6GhoCIBRAAAAAAAAAAAYQ0AIAC9IginQQFxDQAgCEIBhCABvSAIhUI+iH2/IQALIAIgAKAhAQJAIAIQtgMgBGpBgnhODQAgACABIAKhIgahIAIgBiABoaCgIgJEAAAAAAAAAABhDQAgAb0iCEIBg1AgCEI0iKdB/w9xQQAgBGtHRg0AIAggAr0gCIVCPohCAoN9QgF8vyEBCyABIAQQtAMhAgsgA0EwaiQAIAILJwACQCAAIABcDQACQCABIAFbDQAgAA8LIAAgASAAIAFdGyEBCyABC5wCAgJ/An0CQAJAAkAgALwiAUGAgIAETg0AQwAAgP9DAADAfyAAQwAAAABbIgIbIQMgAg0CIAFBAEgNAiAAQwAAAEyUvCEBQeh+IQIMAQsgACEDIAFB////+wdLDQFBgX8hAkMAAAAAIQMgAUGAgID8A0YNAQsgAUGN9qsCaiIBQf///wNxQfOJ1PkDar5DAACAv5IiACAAIABDAAAAP5SUIgOTvEGAYHG+IgRDALC4P5QgACAEkyADkyAAIABDAAAAQJKVIgAgAyAAIACUIgAgACAAlCIAQ+7pkT6UQ6qqKj+SlCAAIABDJp54PpRDE87MPpKUkpKUkiIAQwCwuD+UIAAgBJJD1Jo4uZSSkiACIAFBF3ZqspIhAwsgAwuZAwIDfwF8IwBBEGsiASQAAkACQCAAvCICQf////8HcSIDQdqfpPoDSw0AIANBgICAzANJDQEgALsQuQMhAAwBCwJAAkACQAJAIANB0qftgwRJDQAgA0HW44iHBE8NAyAAuyEEIANB4Nu/hQRPDQEgAkF/Sg0CIARE0iEzf3zZEkCgELgDIQAMBAsgALshBAJAIANB5JfbgARJDQBEGC1EVPshCcBEGC1EVPshCUAgAkF/ShsgBKCaELkDIQAMBAsCQCACQX9KDQAgBEQYLURU+yH5P6AQuAOMIQAMBAsgBEQYLURU+yH5v6AQuAMhAAwDC0QYLURU+yEZwEQYLURU+yEZQCACQX9KGyAEoBC5AyEADAILIARE0iEzf3zZEsCgELgDjCEADAELAkAgA0H////7B0sNACAAIAFBCGoQugMhAyABKwMIIQQCQAJAAkACQCADQQNxDgQAAQIDAAsgBBC5AyEADAQLIAQQuAMhAAwDCyAEmhC5AyEADAILIAQQuAOMIQAMAQsgACAAkyEACyABQRBqJAAgAAsLuDMCAEGAgBALwDIAAAAAAAAAAAAAAAAAAAAAAAAAAGoAAABrAAAAbAAAAG0AAAAAAIA/AACAPwAAgD8AAIA/AAAAAAAAAAAAAAAAAACAPwAAAEBPdXRPZk1lbW9yeQBtYXhfeQBtaW5feQBzaGFwZXMuYm91bmRpbmdfYm94LkJvdW5kaW5nQm94AGltYWdlcy5QaWNrVmVydGV4AGluZGV4AG1heABtYXhfeABtaW5feAByZW5kZXJfZHJhdwB2AHUAaW52ZXJ0AHNsb3QAU2VsZWN0ZWQgc2hhcGUgYXNzZXQgc2hvdWxkIGJlIHByZXNlbnQgYXQgdGhpcyBwb2ludAB0eXBlcy5Qb2ludABtZW0uQWxpZ25tZW50AGx0AGd0AHJlbW92ZV9hc3NldABhZGRfYXNzZXQAYml0T2Zmc2V0AHJhZGl1cwBwb2ludHMAdG9CeXRlVW5pdHMAZnJvbUJ5dGVVbml0cwByZXNldF9hc3NldHMAc2hhcGVzLnNoYXBlcy5TaGFwZVByb3BzAGltcG9ydF9pY29ucwBjb25uZWN0X3dlYl9ncHVfcHJvZ3JhbXMAaW5kZXguV2ViR3B1UHJvZ3JhbXMAY29ubmVjdF9jYWNoZV9jYWxsYmFja3MAZmxhZ3MAY29tbWl0X2NoYW5nZXMAcHRyAG1hdGguQ29tcGFyZU9wZXJhdG9yAG1lbS5BbGxvY2F0b3IARXJyb3IAZmlsbF9jb2xvcgBzdHJva2VfY29sb3IAZGlmZmVyAG9yZGVyAG1hdGguT3JkZXIAbmVxAG9uX3BvaW50ZXJfdXAAcmVtYXAAcmF3UmVtYXAAbm9SZW1hcABhbmdsZV90bwBvbl9wb2ludGVyX2Rvd24AbWluAGFsaWduAExvZzJBbGlnbgBzaGFwZXMuc2hhcGVzLlVuaWZvcm0Ac2V0X3Rvb2wAaW5kZXguVG9vbABTZWxlY3RlZCBzaGFwZSBhc3NldCBzaG91bGQgYmUgcHJlc2VudCB3aGVuIGFjdGl2ZV9wYXRoX2luZGV4IGlzIG5vdCBudWxsAHJldHZhbAByZW5kZXJfcGljawBvbl91cGRhdGVfcGljawBjaGVjawBjb25uZWN0X29uX2Fzc2V0X3NlbGVjdGlvbl9jYWxsYmFjawBjb25uZWN0X29uX2Fzc2V0X3VwZGF0ZV9jYWxsYmFjawBsZW5ndGgAc3Ryb2tlX3dpZHRoAHBhZGRpbmcAZGlmZgBkcmF3X21zZGYAcmVzaXplAHJhd1Jlc2l6ZQBub1Jlc2l6ZQBiaXRTaXplAGJ5dGVTaXplAG9uX3BvaW50ZXJfbW92ZQBvbl9wb2ludGVyX2xlYXZlAGx0ZQBndGUAZGVzdHJveV9zdGF0ZQBpbml0X3N0YXRlAHJldmVyc2UAZHJhd190ZXh0dXJlAHBpY2tfdGV4dHVyZQBzdHJ1Y3R1cmUAc2lnbmF0dXJlAGNvbXBhcmUAdHlwZQBkcmF3X3NoYXBlAHN0b3BfZHJhd2luZ19zaGFwZQBhZGRfc2hhcGUARHJhd1NoYXBlAGNsb25lAE5vbmUAbmFtZQBkcmF3X3RyaWFuZ2xlAHBpY2tfdHJpYW5nbGUAdnRhYmxlAG1lbS5BbGxvY2F0b3IuVlRhYmxlAHVwZGF0ZV9yZW5kZXJfc2NhbGUAZnJlZQByYXdGcmVlAG5vRnJlZQBtc2RmLkRyYXdJbnN0YW5jZQB0cmlhbmdsZS5EcmF3SW5zdGFuY2UAdHJpYW5nbGUuUGlja0luc3RhbmNlAGRpc3RhbmNlAGZvcndhcmQAYmFja3dhcmQAbWlkAHRleHR1cmVfaWQAaW1hZ2VzLlNlcmlhbGl6ZWQASmF2YVNjcmlwdCBmdW5jdGlvbiBmYWlsZWQATXVsdGl0aHJlYWRpbmcgbm90IGVuYWJsZWQAUHJvbWlzZSBlbmNvdW50ZXJlZCBpbiBtYWluIHRocmVhZABhbGxvYwByYXdBbGxvYwB0eXBlcy5Qb2ludFVWAEFTU0VUX0lEX1RSRVNIT0xEADgAMTYANjQAMwBwMgAzMgBwMQBwMABBdHRlbXB0aW5nIHRvIGFkZCBwb2ludCB0byBhbHJlYWR5IGNsb3NlZCBwYXRoIQC3Q7pRAAAAAAAA//8AAAAAbgAAAG8AAABwAAAAcQAAAB4eHv9/f3///wAA/wD/AP8AAAAAEAAAAAAAAAASAAAAAAAAABkAAAAAAAAADgAAAAAAAAAWAAAA6AMAAP////8AAAD/AAAAAAEAAAACAAAAAgAAAAMAAAAAAAAAAQAAAAAAAAABAAAAAQAAAAAAAAADAAAAAgAAAAEAAAAAAAAAAgAAAAEAAAACAAAAAwAAAAIAAAABAAAAAwAAAAIAAAADAAAABAAAAAMAAAAAAAAABAAA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"),e=new Uint8Array(A.length);for(let t=0;t<A.length;t++)e[t]=A.charCodeAt(t);return await new Promise((A=>setTimeout(A,0))),e.buffer})();Ya.loadModule(_a,{memoryInitial:5,tableInitial:342,multithreaded:!1}),Ya.linkVariables(!1);const{constructor:Pa}=qa,Va=Ya.getSpecialExports(),{connect_web_gpu_programs:Ha,connect_on_asset_update_callback:Ta,connect_on_asset_selection_callback:Za,connect_cache_callbacks:ja,ASSET_ID_TRESHOLD:Xa,init_state:Wa,update_render_scale:$a,add_asset:Ag,remove_asset:eg,on_update_pick:tg,on_pointer_down:ig,on_pointer_up:ng,on_pointer_move:rg,on_pointer_leave:sg,commit_changes:ag,render_draw:gg,render_pick:og,reset_assets:Ig,destroy_state:cg,import_icons:Qg,set_tool:lg,stop_drawing_shape:Cg,add_shape:Bg}=Pa;await Va.init(),i()}catch(A){i(A)}}),1)},6561:(A,e,t)=>{A.exports=t.p+"e9072ac5eb734c67.png"},1285:(A,e,t)=>{var i=t(1388),n=t(6560),r=(t(4540),t(8e3));(0,n.co)({init(){this.accessorCache=new Map},getAccessor(A,e){const{type:t,bitSize:n,bitOffset:s,byteSize:a}=e,g=[],o=void 0===a&&(7&n||7&s);o&&g.push("Unaligned");let I=i.hQ[t];n>32&&(t===i.Z9.Int||t===i.Z9.Uint)&&(I=n<=64?`Big${I}`:`Jumbo${I}`),g.push(I,`${t===i.Z9.Bool&&a?8*a:n}`),o&&g.push(`@${s}`);const c=A+g.join("");let Q=DataView.prototype[c];if(Q)return Q;if(Q=this.accessorCache.get(c),Q)return Q;for(;g.length>0;){const t=`getAccessor${g.join("")}`;if(Q=this[t]?.(A,e))break;g.pop()}if(!Q)throw new Error(`No accessor available: ${c}`);return(0,r.n8)(Q,"name",(0,r.vQ)(c)),this.accessorCache.set(c,Q),Q}})},9592:(A,e,t)=>{var i=t(1388);(0,t(6560).co)({getAccessorBool(A,e){const{byteSize:t}=e,n=8*t,r=this.getAccessor(A,{type:i.Z9.Uint,bitSize:n,byteSize:t});if("get"===A)return function(A,e){return!!r.call(this,A,e)};{const A=n<=32?0:0n,e=n<=32?1:1n;return function(t,i,n){r.call(this,t,i?e:A,n)}}}})},5239:(A,e,t)=>{var i=t(1388);(0,t(6560).co)({getAccessorInt(A,e){const{bitSize:t,byteSize:n}=e;if(n){const e=this.getAccessor(A,{type:i.Z9.Uint,bitSize:8*n,byteSize:n}),r=2**(t-1),s=r-1;return"get"===A?function(A,t){const i=e.call(this,A,t);return(i&s)-(i&r)}:function(A,t,i){const n=t<0?r|t&s:t&s;e.call(this,A,n,i)}}}})},2148:(A,e,t)=>{(0,t(6560).co)({getAccessorUint(A,e){const{bitSize:t,byteSize:i}=e;if(i){const n=this.getAccessor(A,{...e,bitSize:8*i}),r=2**t-1;return"get"===A?function(A,e){return n.call(this,A,e)&r}:function(A,e,t){const i=e&r;n.call(this,A,i,t)}}}})},1388:(A,e,t)=>{t.d(e,{AD:()=>s,EK:()=>n,F7:()=>y,Nt:()=>I,Q6:()=>o,Q9:()=>f,UT:()=>c,Z9:()=>B,Zm:()=>l,e2:()=>C,ev:()=>i,hQ:()=>u,pK:()=>E,sU:()=>g,tv:()=>Q,uE:()=>a,yi:()=>r});const i={Primitive:0,Array:1,Struct:2,Union:3,ErrorUnion:4,ErrorSet:5,Enum:6,Optional:7,Pointer:8,Slice:9,Vector:10,Opaque:11,ArgStruct:12,VariadicStruct:13,Function:14},n=Object.keys(i),r={HasValue:1,HasObject:2,HasPointer:4,HasSlot:8},s={IsSize:16},a={HasSentinel:16,IsString:32,IsTypedArray:64,IsClampedArray:128},g={IsExtern:16,IsPacked:32,IsIterator:64,IsTuple:128,IsAllocator:256,IsPromise:512,IsGenerator:1024,IsAbortSignal:2048,IsOptional:4096,IsReader:8192,IsWriter:16384},o={IsOpenEnded:16,IsIterator:32},I={HasSelector:16},c={HasLength:16,IsMultiple:32,IsSingle:64,IsConst:128,IsNullable:256},Q={HasSentinel:16,IsString:32,IsTypedArray:64,IsClampedArray:128,IsOpaque:256},l={IsGlobal:16},C={HasOptions:16,IsThrowing:32,IsAsync:64},B={Void:0,Bool:1,Int:2,Uint:3,Float:4,Object:5,Type:6,Literal:7,Null:8,Undefined:9,Unsupported:10},u=Object.keys(B),E={IsRequired:1,IsReadOnly:2,IsPartOfSet:4,IsSelector:8,IsMethod:16,IsSentinel:32,IsBackingInt:64,IsString:128},f={OK:0,Failure:1,Deadlock:2,Disabled:3},y={IsInactive:1,IsImmutable:2,IgnoreUncreated:4,IgnoreInactive:8,IgnoreArguments:16,IgnoreRetval:32}},6560:(A,e,t)=>{t.d(e,{NP:()=>s,co:()=>r});var i=t(8e3);const n={name:"",mixins:[]};function r(A){return n.mixins.includes(A)||n.mixins.push(A),A}function s(){return function(A,e){const t=[],n=function(){for(const A of t)A.call(this)},{prototype:r}=n;(0,i.n8)(n,"name",(0,i.vQ)(A));for(const A of e)for(let[e,n]of Object.entries(A))if("init"===e)t.push(n);else{if("function"==typeof n);else{let A=r[e];if(void 0!==A)if(A?.constructor===Object)n=Object.assign({...A},n);else if(A!==n)throw new Error(`Duplicate property: ${e}`)}(0,i.n8)(r,e,(0,i.vQ)(n))}return n}(n.name,n.mixins)}},4762:(A,e,t)=>{t.d(e,{BC:()=>s,BY:()=>D,FD:()=>_,G9:()=>d,Ho:()=>l,Jc:()=>N,L2:()=>B,O0:()=>a,Pd:()=>S,QB:()=>z,Qm:()=>b,SB:()=>f,UQ:()=>G,Uv:()=>w,V0:()=>K,Vp:()=>M,Y8:()=>u,Zb:()=>I,_L:()=>E,_l:()=>x,a6:()=>Y,ci:()=>g,ck:()=>U,d_:()=>R,iS:()=>c,is:()=>C,nz:()=>h,qG:()=>m,qx:()=>q,t7:()=>o,to:()=>Q,v2:()=>J,vp:()=>L,x1:()=>k,xH:()=>y,xp:()=>v,zy:()=>p});var i=t(1388),n=t(4540),r=t(8e3);Error;class s extends SyntaxError{constructor(A){super(`Cannot convert ${A} to an Int`)}}class a extends TypeError{constructor(){super("Unsupported")}}class g extends TypeError{constructor(A){const{name:e}=A;super(`An initializer must be provided to the constructor of ${e}, even when the intended value is undefined`)}}class o extends TypeError{constructor(A,e,t=null){const{name:n,type:r,byteSize:s}=A,a=e.byteLength,g=1!==s?"s":"";let o;o=r!==i.ev.Slice||t?`${n} has ${r===i.ev.Slice?t.length*s:s} byte${g}, received ${a}`:`${n} has elements that are ${s} byte${g} in length, received ${a}`,super(o)}}class I extends TypeError{constructor(A){const{type:e,byteSize:t,typedArray:n}=A,r=1!==t?"s":"",s=["ArrayBuffer","DataView"].map(V);let a;n&&s.push(V(n.name)),a=e===i.ev.Slice?`Expecting ${T(s)} that can accommodate items ${t} byte${r} in length`:`Expecting ${T(s)} that is ${t} byte${r} in length`,super(a)}}class c extends TypeError{constructor(A,e){const{name:t}=A;let i;i="number"==typeof e||"bigint"==typeof e?`Value given does not correspond to an item of enum ${t}: ${e}`:`Enum item of the type ${t} expected, received ${e}`,super(i)}}class Q extends TypeError{constructor(A,e){const{name:t}=A,i=typeof e;let n;"string"===i||"number"===i||_(e)?(_(e)&&(e=`{ error: ${JSON.stringify(e.error)} }`),n=`Error ${i} does not corresponds to any error in error set ${t}: ${e}`):n=`Error of the type ${t} expected, received ${e}`,super(n)}}class l extends TypeError{constructor(A){const{name:e}=A;super(`Error given is not a part of error set ${e}`)}}TypeError,TypeError,TypeError,TypeError;class C extends TypeError{constructor(A,e,t){const{name:i}=A,n=[];if(Array.isArray(e))for(const A of e)n.push(V(A));else n.push(V(e));const r=P(t);super(`${i} expects ${T(n)} as argument, received ${r}`)}}class B extends C{constructor(A,e,t=!1){const{instance:{members:[s]},type:a,constructor:g}=A,o=[],I=(0,r.BF)(s);if(I){let A;switch(s.structure?.type){case i.ev.Enum:A="enum item";break;case i.ev.ErrorSet:A="error";break;default:A=I}o.push(`array of ${A}s`)}else o.push("array of objects");g[n.pM]&&o.push(g[n.pM].name),a===i.ev.Slice&&t&&o.push("length"),super(A,o.join(" or "),e)}}class u extends TypeError{constructor(A,e,t){const{name:i,length:n,instance:{members:[r]}}=A,{structure:{constructor:s}}=r,{length:a,constructor:g}=t,o=e?.length??n,I=1!==o?"s":"";let c;c=g===s?"only a single one":g.child===s?`a slice/array that has ${a}`:`${a} initializer${a>1?"s":""}`,super(`${i} has ${o} element${I}, received ${c}`)}}class E extends TypeError{constructor(A,e){super(A<0?"Length of slice cannot be negative":`Length of slice can be ${e} or less, received ${A}`)}}class f extends TypeError{constructor(A,e){const{name:t}=A;super(`Missing initializers for ${t}: ${e.join(", ")}`)}}class y extends TypeError{constructor(A,e){const{name:t,instance:{members:i}}=A;let n;n=i.find((A=>A.name===e))?`Comptime value cannot be changed: ${e}`:`${t} does not have a property with that name: ${e}`,super(n)}}class h extends Error{constructor(A,e,t=!1){super();const i=i=>{e-=i;const n=1!=(A-=i)?"s":"",r=t?"at least ":"";this.message=`Expecting ${r}${A} argument${n}, received ${e}`,this.stack=O(this.stack,"new Arg(")};i(0),(0,r.n8)(this,n.q6,{value:i,enumerable:!1})}}class m extends Error{constructor(){super("Undefined argument")}}class p extends TypeError{constructor(){super("Non-slice pointers can only be created with the help of the new operator")}}class b extends TypeError{constructor(){super("Casting to function is not allowed")}}class d extends TypeError{constructor(A,e){const{name:t}=A,{constructor:{name:i}}=e;super(`Conversion of ${i} to ${t} requires an explicit cast`)}}TypeError,TypeError;class w extends TypeError{constructor(A,e){super(`Unable to simultaneously align memory to ${e}-byte and ${A}-byte boundary`)}}TypeError;class S extends TypeError{constructor(A,e){const t=P(e);super(`Expected ${V(A)}, received ${t}`)}}TypeError;class D extends TypeError{constructor(){super("Null pointer")}}class v extends TypeError{constructor(A){super(`Object has been freed already: ${A.constructor.name}`)}}class z extends TypeError{constructor(A,e){const{name:t}=A;let i;if(null!=e){const A=e instanceof Object&&e.constructor!==Object?`${e.constructor.name} object`:typeof e;i=`${H(A)} ${A}`}else i=e+"";super(`${t} cannot point to ${i}`)}}class k extends TypeError{constructor(){super("Pointers in Zig memory cannot point to garbage-collected object")}}TypeError;class x extends RangeError{constructor(A,e){const{name:t}=A;super(`Index exceeds the size of ${t??"array"}: ${e}`)}}class G extends TypeError{constructor(A){const{name:e}=A;super((void 0!==e?`Property ${e}`:"Element")+" can only be undefined")}}class M extends TypeError{constructor(A){const{name:e,structure:{name:t}}=A;super(`Unable to create ${t} as it is not situated on a byte boundary: ${e}`)}}class F extends TypeError{constructor(){super("Unable to modify read-only object")}}class U extends TypeError{constructor(A){const{name:e}=A;super(`${e} cannot point to a read-only object`)}}TypeError,TypeError,TypeError;class J extends TypeError{constructor(){super("Unexpected async generator")}}class L extends Error{constructor(A,e=0){if(A instanceof Error)return super(A.message),A.stack=O(this.stack,e),A;super(A??"Error encountered in Zig code")}}class N extends L{constructor(A){super("Program exited"),this.code=A}}function R(A,e){const t=t=>{e-=t,A.message=`args[${e}]: ${A.message}`,A.stack=O(A.stack,"new Arg(")};return t(0),(0,r.n8)(A,n.q6,{value:t,enumerable:!1}),A}function O(A,e){if("string"==typeof A){const t=A.split("\n"),i=t.findIndex((A=>A.includes(e)));-1!==i&&(t.splice(1,i),A=t.join("\n"))}return A}function q(A,e,t){return t instanceof RangeError&&!(t instanceof x)&&(t=new x(A,e)),t}function K(){throw new F}function Y(A){let e=A.replace(/_/g," ");try{e=e.replace(/(\p{Uppercase}+)(\p{Lowercase}*)/gu,((A,e,t)=>1===e.length?` ${e.toLocaleLowerCase()}${t}`:t?A:` ${e}`)).trimStart()}catch(A){}return e.charAt(0).toLocaleUpperCase()+e.substring(1)}function _(A){return"object"==typeof A&&"string"==typeof A.error&&1===Object.keys(A).length}function P(A){const e=typeof A;let t;return t="object"===e?A?Object.prototype.toString.call(A):"null":e,V(t)}function V(A){return`${H(A)} ${A}`}function H(A){return/^\W*[aeiou]/i.test(A)?"an":"a"}function T(A,e="or"){const t=` ${e} `;return A.length>2?A.slice(0,-1).join(", ")+t+A[A.length-1]:A.join(t)}},7635:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);function g(A){let e,t=1,n=null;if(A instanceof DataView){e=A;const i=e?.[s.Dr]?.align;i&&(t=i)}else if(A instanceof ArrayBuffer)e=new DataView(A);else if(A)if(A[s.Qy])A.constructor[s.ZE]===i.ev.Pointer&&(A=A["*"]),e=A[s.Qy],n=A.constructor,t=n[s.Ec];else{"string"==typeof A&&(A=(0,a.wx)(A));const{buffer:i,byteOffset:n,byteLength:r,BYTES_PER_ELEMENT:s}=A;i&&void 0!==n&&void 0!==r&&(e=new DataView(i,n,r),t=s)}return{dv:e,align:t,constructor:n}}(0,n.co)({defineAlloc:()=>({value(A,e=1){const t=Math.clz32(e);if(e!==1<<31-t)throw new Error(`Invalid alignment: ${e}`);const i=31-t,{vtable:{alloc:n},ptr:r}=this,a=n(r,A,i,0);if(!a)throw new Error("Out of memory");a.length=A;const g=a["*"][s.Qy];return g[s.Dr].align=e,g}}),defineFree(){const A=this;return{value(e){const{dv:t,align:i}=g(e),n=t?.[s.Dr];if(!n)throw new r.Pd("object containing allocated Zig memory",e);const{address:o}=n;if(o===a.Y$)throw new r.xp(e);const{vtable:{free:I},ptr:c}=this;I(c,t,31-Math.clz32(i),0),A.releaseZigView(t)}}},defineDupe(){const A=this.getCopyFunction();return{value(e){const{dv:t,align:i,constructor:n}=g(e);if(!t)throw new r.Pd("string, DataView, typed array, or Zig object",e);const s=this.alloc(t.byteLength,i);return A(s,t),n?n(s):s}}}})},4358:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4540);(0,n.co)({init(){this.variables=[]},getSpecialExports(){const A=A=>{if(void 0===A)throw new Error("Not a Zig type");return A};return{init:(...A)=>this.initialize?.(...A),abandon:()=>this.abandonModule?.(),connect:A=>this.consoleObject=A,sizeOf:e=>A(e?.[r.SK]),alignOf:e=>A(e?.[r.Ec]),typeOf:e=>s[A(e?.[r.ZE])]}},recreateStructures(A,e){Object.assign(this,e);const t=(A,e)=>{for(const[t,i]of Object.entries(e))A[t]=n(i);return A},i=A=>A.length?A.buffer:new ArrayBuffer(0),n=A=>{const{memory:e,structure:n,actual:s}=A;if(e){if(s)return s;{const{array:s,offset:a,length:g}=e,o=this.obtainView(i(s),a,g),{handle:I,const:c}=A,Q=n?.constructor,l=A.actual=Q.call(r.M0,o);return c&&this.makeReadOnly(l),A.slots&&t(l[r._f],A.slots),I&&this.variables.push({handle:I,object:l}),l}}return n},s=new Map;for(const e of A){for(const A of[e.instance,e.static])if(A.template){const{slots:e,memory:t,handle:n}=A.template,a=A.template={};if(t){const{array:A,offset:e,length:s}=t;a[r.Qy]=this.obtainView(i(A),e,s),n&&this.variables.push({handle:n,object:a})}if(e){const A=a[r._f]={};s.set(A,e)}}this.defineStructure(e)}for(const[A,e]of s)t(A,e);for(const e of A)this.finalizeStructure(e)}});const s=i.EK.map((A=>A.replace(/([a-z])([A-Z])/g,"$1 $2").toLowerCase()))},4828:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540);(0,n.co)({init(){this.jsFunctionThunkMap=new Map,this.jsFunctionCallerMap=new Map,this.jsFunctionControllerMap=new Map,this.jsFunctionIdMap=new WeakMap,this.jsFunctionNextId=1},getFunctionId(A){let e=this.jsFunctionIdMap.get(A);return void 0===e&&(e=this.jsFunctionNextId++,this.jsFunctionIdMap.set(A,e)),e},getFunctionThunk(A,e){const t=this.getFunctionId(A);let i=this.jsFunctionThunkMap.get(t);if(void 0===i){const A=this.getViewAddress(e[s.Qy]),n=this.createJsThunk(A,t);if(!n)throw new Error("Unable to create function thunk");i=this.obtainZigView(n,0),this.jsFunctionThunkMap.set(t,i),this.jsFunctionControllerMap.set(t,e)}return i},createInboundCaller(A,e){const t=this.getFunctionId(A);return this.jsFunctionCallerMap.set(t,((t,n)=>{let a=i.Q9.OK,g=!1;try{const o=e(t);if(s.g9 in o){o[s.g9]("reset");const A=this.startContext();this.updatePointerTargets(A,o,!0),this.updateShadowTargets(A),this.endContext()}const I=function(A){try{if(!(e[s.du]&&A instanceof Error))throw A;o[s.zg](A)}catch(e){a=i.Q9.Failure,console.error(A)}},c=function(A){try{o[s.zg](A)}catch(A){a=i.Q9.Failure,console.error(A)}};try{const e=A(...o),t=o.hasOwnProperty(s.zg);if("Promise"===e?.[Symbol.toStringTag])if(n||t){const A=e.then(c,I);n&&A.then((()=>this.finalizeAsyncCall(n,a))),g=!0,a=i.Q9.OK}else a=i.Q9.Deadlock;else if(e?.[Symbol.asyncIterator]){if(!o.hasOwnProperty(s.wg))throw new r.v2;this.pipeContents(e,o),a=i.Q9.OK}else null==e&&t||c(e)}catch(A){I(A)}}catch(A){console.error(A),a=i.Q9.Failure}return n&&!g&&this.finalizeAsyncCall(n,a),a})),function(...e){return A(...e)}},defineArgIterator(A){const e=this,t=A.filter((({structure:A})=>A.type===i.ev.Struct&&A.flags&i.sU.IsAllocator)).length;return{value(){let n,r=0,a=0,g=0;const o=[];for(const[I,{structure:c,type:Q}]of A.entries())try{let A,l,C=this[I];Q===i.Z9.Object&&C?.[s.Qy]?.[s.Dr]&&(C=new C.constructor(C)),c.type===i.ev.Struct&&(c.flags&i.sU.IsAllocator?(A=1===t?"allocator":"allocator"+ ++r,l=this[s.Gz]=C):c.flags&i.sU.IsPromise?(A="callback",1==++a&&(l=e.createPromiseCallback(this,C))):c.flags&i.sU.IsGenerator?(A="callback",1==++a&&(l=e.createGeneratorCallback(this,C))):c.flags&i.sU.IsAbortSignal&&(A="signal",1==++g&&(l=e.createInboundSignal(C)))),void 0!==A?void 0!==l&&(n||={},n[A]=l):o.push(C)}catch(A){o.push(A)}return n&&o.push(n),o[Symbol.iterator]()}}},handleJsCall(A,e,t,n=0){const r=this.obtainZigView(e,t,!1),s=this.jsFunctionCallerMap.get(A);return s?s(r,n):i.Q9.Failure},releaseFunction(A){const e=this.jsFunctionThunkMap.get(A),t=this.jsFunctionControllerMap.get(A);if(e&&t){const i=this.getViewAddress(t[s.Qy]),n=this.getViewAddress(e);this.destroyJsThunk(i,n),this.releaseZigView(e),A&&(this.jsFunctionThunkMap.delete(A),this.jsFunctionCallerMap.delete(A),this.jsFunctionControllerMap.delete(A))}},freeFunction(A){this.releaseFunction(this.getFunctionId(A))},exports:{handleJsCall:{argType:"iiii",returnType:"i"},releaseFunction:{argType:"i"}},imports:{createJsThunk:{argType:"ii",returnType:"i"},destroyJsThunk:{argType:"ii",returnType:"i"},finalizeAsyncCall:{argType:"ii"}}})},6973:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540);(0,n.co)({createOutboundCaller(A,e){const t=this,i=function(...n){if(!t.runThunk)return t.initPromise.then((()=>i(...n)));const a=new e(n,this?.[s.Gz]);try{return t.invokeThunk(A,i,a)}catch(A){if(A instanceof r.Jc&&0===A.code)return;throw A}};return i},copyArguments(A,e,t,n,a){let g=0,o=0,I=0;const c=A[s.Bl];for(const{type:s,structure:Q}of t){let t,l,C,B;if(Q.type===i.ev.Struct&&(Q.flags&i.sU.IsAllocator?t=(1==++I?n?.allocator??n?.allocator1:n?.[`allocator${I}`])??this.createDefaultAllocator(A,Q):Q.flags&i.sU.IsPromise?(l||=this.createPromise(Q,A,n?.callback),t=l):Q.flags&i.sU.IsGenerator?(C||=this.createGenerator(Q,A,n?.callback),t=C):Q.flags&i.sU.IsAbortSignal?(B||=this.createSignal(Q,n?.signal),t=B):Q.flags&i.sU.IsReader?t=this.createReader(e[o++]):Q.flags&i.sU.IsWriter&&(t=this.createWriter(e[o++]))),void 0===t&&(t=e[o++],void 0===t&&s!==i.Z9.Void))throw new r.qG;try{c[g++].call(A,t,a)}catch(A){throw(0,r.d_)(A,g-1)}}},invokeThunk(A,e,t){const i=this.startContext(),n=t[s.iw],a=this.getViewAddress(A[s.Qy]),g=this.getViewAddress(e[s.Qy]),o=s.vm in t,I=s.g9 in t;I&&this.updatePointerAddresses(i,t);const c=this.getShadowAddress(i,t,null,!1),Q=n?this.getShadowAddress(i,n):0;this.updateShadows(i);const l=()=>{this.updateShadowTargets(i),I&&this.updatePointerTargets(i,t),this.libc&&this.flushStdout?.(),this.flushConsole?.(),this.endContext()};if(o&&(t[s.vm]=l),!(n?this.runVariadicThunk(a,g,c,Q,n.length):this.runThunk(a,g,c)))throw l(),new r.vp;if(t[s.sF]?.(this.findShadowView(t[s.Qy])),o){let A=null;try{A=t.retval}catch(e){A=new r.vp(e,1)}return null!=A?(e[s.fM]&&A&&(A=A.string),t[s.zg](A)):e[s.fM]&&(t[s.fM]=!0),t[s.eR]??t[s._d]}l();try{const{retval:A}=t;return e[s.fM]&&A?A.string:A}catch(A){throw new r.vp(A,1)}},imports:{runThunk:{argType:"iii",returnType:"b"},runVariadicThunk:{argType:"iiiii",returnType:"b"}}})},2427:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4540),s=t(8e3);(0,n.co)({init(){const A={type:i.Z9.Int,bitSize:8,byteSize:1},e={type:i.Z9.Int,bitSize:16,byteSize:2},t={type:i.Z9.Int,bitSize:32,byteSize:4},n=this.getAccessor("get",A),r=this.getAccessor("set",A),a=this.getAccessor("get",e),g=this.getAccessor("set",e),o=this.getAccessor("get",t),I=this.getAccessor("set",t);this.copiers={0:s.Ie,1:function(A,e){r.call(A,0,n.call(e,0))},2:function(A,e){g.call(A,0,a.call(e,0,!0),!0)},4:function(A,e){I.call(A,0,o.call(e,0,!0),!0)},8:function(A,e){I.call(A,0,o.call(e,0,!0),!0),I.call(A,4,o.call(e,4,!0),!0)},16:function(A,e){I.call(A,0,o.call(e,0,!0),!0),I.call(A,4,o.call(e,4,!0),!0),I.call(A,8,o.call(e,8,!0),!0),I.call(A,12,o.call(e,12,!0),!0)},any:function(A,e){let t=0,i=A.byteLength;for(;t+4<=i;)I.call(A,t,o.call(e,t,!0),!0),t+=4;for(;t+1<=i;)r.call(A,t,n.call(e,t)),t++}},this.resetters={0:s.Ie,1:function(A,e){r.call(A,e,0)},2:function(A,e){g.call(A,e,0,!0)},4:function(A,e){I.call(A,e,0,!0)},8:function(A,e){I.call(A,e+0,0,!0),I.call(A,e+4,0,!0)},16:function(A,e){I.call(A,e+0,0,!0),I.call(A,e+4,0,!0),I.call(A,e+8,0,!0),I.call(A,e+12,0,!0)},any:function(A,e,t){let i=e;for(;i+4<=t;)I.call(A,i,0,!0),i+=4;for(;i+1<=t;)r.call(A,i,0),i++}}},defineCopier(A,e){const t=this.getCopyFunction(A,e);return{value(A){this[r.zN]?.(),A[r.zN]?.();const e=A[r.Qy],i=this[r.Qy];t(i,e)}}},defineResetter(A,e){const t=this.getResetFunction(e);return{value(){this[r.zN]?.();const i=this[r.Qy];t(i,A,e)}}},getCopyFunction(A,e=!1){return(e?void 0:this.copiers[A])??this.copiers.any},getResetFunction(A){return this.resetters[A]??this.resetters.any},...{defineRetvalCopier({byteSize:A,bitOffset:e}){if(A>0){const t=this,i=e>>3,n=this.getCopyFunction(A);return{value(e){const s=this[r.Qy],{address:a}=e[r.Dr],g=new DataView(t.memory.buffer,a+i,A),o=new DataView(s.buffer,s.byteOffset+i,A);n(o,g)}}}},copyExternBytes(A,e,t){const{memory:i}=this,n=new DataView(i.buffer,e,t);this.getCopyFunction(t)(A,n)}}})},1669:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762);(0,n.co)({addIntConversion:A=>function(e,t){const n=A.call(this,e,t),{flags:s,bitSize:a}=t;if("set"===e)return a>32?function(A,e,t){n.call(this,A,BigInt(e),t)}:function(A,e,t){const i=Number(e);if(!isFinite(i))throw new r.BC(e);n.call(this,A,i,t)};{const{flags:A}=t.structure;if(A&i.AD.IsSize&&a>32){const A=BigInt(Number.MAX_SAFE_INTEGER),e=BigInt(Number.MIN_SAFE_INTEGER);return function(t,i){const r=n.call(this,t,i);return e<=r&&r<=A?Number(r):r}}}return n}})},1674:(A,e,t)=>{var i=t(6560),n=t(4540),r=t(8e3);(0,i.co)({init(){this.defaultAllocator=null,this.allocatorVtable=null,this.allocatorContextMap=new Map,this.nextAllocatorContextId=(0,r.hA)(4096)},createDefaultAllocator(A,e){let t=this.defaultAllocator;return t||(t=this.defaultAllocator=this.createJsAllocator(A,e,!1)),t},createJsAllocator(A,e,t){const{constructor:i}=e;let s=this.allocatorVtable;if(!s){const{noResize:A,noRemap:e}=i;s=this.allocatorVtable={alloc:this.allocateHostMemory.bind(this),free:this.freeHostMemory.bind(this),resize:A},e&&(s.remap=e),this.destructors.push((()=>this.freeFunction(s.alloc))),this.destructors.push((()=>this.freeFunction(s.free)))}let a=r.Fy;if(t){const e=[];a=this.nextAllocatorContextId++,this.allocatorContextMap.set(a,e),A[n.Ut]=A=>{for(const{address:t,len:i}of e){const e=this.unregisterMemory(t,i);e&&this.freeShadowMemory(e.shadowDV),A&&this.allocatorContextMap.delete(a)}e.splice(0)}}return new i({ptr:this.obtainZigView(a,0),vtable:s})},allocateHostMemory(A,e,t){const i=this.getViewAddress(A["*"][n.Qy]),s=i!=r.Fy?this.allocatorContextMap.get(i):null,a=1<<t,g=this.allocateJSMemory(e,a);try{const A=this.allocateShadowMemory(e,a),t=this.getViewAddress(A);return this.registerMemory(t,e,a,!0,g,A),s?.push({address:t,len:e}),A}catch(A){return null}},freeHostMemory(A,e,t){const i=e["*"][n.Qy],r=this.getViewAddress(i),s=i.byteLength,a=this.unregisterMemory(r,s);a&&this.freeShadowMemory(a.shadowDV)}})},6929:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(4540),s=t(8e3);function a(A,e){return(0,s.ZG)(A,e,(A=>A.address))}(0,i.co)({init(){this.isMemoryMapping=!0,this.memoryList=[],this.contextCount=0},startContext(){return++this.contextCount,{shadowList:[]}},endContext(){if(0==--this.contextCount){for(const{shadowDV:A}of this.memoryList)A&&this.freeShadowMemory(A);this.memoryList.splice(0)}},getShadowAddress(A,e,t,i){const a=e[r.Qy];if(t){if(void 0===t.address){const{start:e,end:o,targets:I}=t;let c,Q=0;for(const A of I){const e=A[r.Qy],t=e.byteOffset,i=A.constructor[r.Ec]??e[r.Ec];(void 0===Q||i>Q)&&(Q=i,c=t)}const l=o-e,C=this.allocateShadowMemory(l+Q,1),B=this.getViewAddress(C),u=(0,s.hJ)((0,s.Au)(B,c-e),Q),E=(0,s.Au)(u,e-c);for(const A of I){const t=A[r.Qy],i=t.byteOffset;if(i!==c){const a=A.constructor[r.Ec]??t[r.Ec];if((0,s.on)((0,s.Au)(E,i-e),a))throw new n.Uv(a,Q)}}const f=C.byteOffset+Number(E-B),y=new DataView(C.buffer,f,l);y[r.Dr]={address:E,len:l,align:1,unalignedAddress:B,type:g.Scratch};const h=new DataView(a.buffer,Number(e),l),m=this.registerMemory(E,l,1,i,h,y);A.shadowList.push(m),t.address=E}return(0,s.Au)(t.address,a.byteOffset-t.start)}{const t=e.constructor[r.Ec]??a[r.Ec],n=a.byteLength,s=this.allocateShadowMemory(n,t),g=this.getViewAddress(s),o=this.registerMemory(g,n,1,i,a,s);return A.shadowList.push(o),g}},updateShadows(A){const e=this.getCopyFunction();for(let{targetDV:t,shadowDV:i}of A.shadowList)i=this.restoreView(i),e(i,t)},updateShadowTargets(A){const e=this.getCopyFunction();for(let{targetDV:t,shadowDV:i,writable:n}of A.shadowList)n&&(i=this.restoreView(i),e(t,i))},registerMemory(A,e,t,i,n,r){const s=a(this.memoryList,A);let g=this.memoryList[s-1];return g?.address===A&&g.len===e?g.writable||=i:(g={address:A,len:e,align:t,writable:i,targetDV:n,shadowDV:r},this.memoryList.splice(s,0,g)),g},unregisterMemory(A,e){const t=a(this.memoryList,A),i=this.memoryList[t-1];if(i?.address===A&&i.len===e)return this.memoryList.splice(t-1,1),i},findMemory(A,e,t,i){let n=t*(i??0);const g=a(this.memoryList,e),o=this.memoryList[g-1];let I;if(o?.address===e&&o.len===n)I=o.targetDV;else if(o?.address<=e&&(0,s.Au)(e,n)<=(0,s.Au)(o.address,o.len)){const A=Number(e-o.address),t=void 0===i,{targetDV:s}=o;t&&(n=s.byteLength-A),I=this.obtainView(s.buffer,s.byteOffset+A,n),t&&(I[r.Ec]=o.align)}if(I){let{targetDV:e,shadowDV:t}=o;t&&A&&!A.shadowList.includes(o)&&(t=this.restoreView(t),this.getCopyFunction()(e,t))}else I=this.obtainZigView(e,n);return I},findShadowView(A){for(const{shadowDV:e,targetDV:t}of this.memoryList)if(t===A)return e},releaseZigView(A){const e=A[r.Dr],t=e?.address;t&&t!==s.Y$&&(e.address=s.Y$)},getViewAddress(A){const e=A[r.Dr];if(e)return e.address;{const e=this.getBufferAddress(A.buffer);return(0,s.Au)(e,A.byteOffset)}},...{imports:{allocateScratchMemory:{argType:"ii",returnType:"i"},freeScratchMemory:{argType:"iii"}},exports:{getViewAddress:{argType:"v",returnType:"i"}},usizeMaxBuffer:new ArrayBuffer(0),allocateShadowMemory(A,e){const t=A?this.allocateScratchMemory(A,e):0;if(!t&&A)throw new Error("Out of memory");const i=this.obtainZigView(t,A),n=i?.[r.Dr];return n&&(n.align=e),i},freeShadowMemory(A){const{address:e,unalignedAddress:t,len:i,align:n}=A[r.Dr];i&&this.freeScratchMemory(t??e,i,n),this.releaseZigView(A)},obtainZigView(A,e,t=!0){if((0,s.cv)(A)&&(A=e>0?0:s.Fy),!A&&e)return null;let i,{buffer:n}=this.memory;return A===s.Fy&&(n=this.usizeMaxBuffer,A=s.$k,e=0),t?i=this.obtainView(n,A,e):(i=new DataView(n,A,e),i[r.Dr]={address:A,len:e}),i},getTargetAddress(A,e,t,i){const n=e[r.Qy];return n[r.Dr]?this.getViewAddress(n):0===n.byteLength?0:this.getShadowAddress(A,e,t,i)},getBufferAddress:A=>0}});const g={Normal:0,Scratch:1}},4936:(A,e,t)=>{var i=t(6560),n=t(8e3);(0,i.co)({init(){this.abandoned=!1,this.destructors=[],this.nextValueIndex=1,this.valueMap=new Map,this.valueIndices=new Map,this.options=null,this.executable=null,this.memory=null,this.table=null,this.initialTableLength=0,this.exportedFunctions=null},abandonModule(){if(!this.abandoned){for(const A of this.destructors.reverse())A();this.abandoned=!0}},...{imports:{initialize:{argType:""}},exports:{displayPanic:{argType:"ii"}},async initialize(A){this.setCustomWASI?.(A),await this.initPromise},getObjectIndex(A){if(null!=A){let e=this.valueIndices.get(A);return void 0===e&&(e=this.nextValueIndex++,this.valueIndices.set(A,e),this.valueMap.set(e,A)),e}return 0},fromWebAssembly(A,e){switch(A){case"v":case"s":return this.valueMap.get(e);case"i":return e;case"b":return!!e}},toWebAssembly(A,e){switch(A){case"v":case"s":return this.getObjectIndex(e);case"i":return e;case"b":return e?1:0}},exportFunction(A,e="",t="",i){return A?(...i)=>{i=i.map(((A,t)=>this.fromWebAssembly(e.charAt(t),A)));const n=A.apply(this,i);return this.toWebAssembly(t,n)}:()=>{}},importFunction(A,e="",t=""){return(...i)=>{i=i.map(((A,t)=>this.toWebAssembly(e.charAt(t),A)));const n=A.apply(this,i);return this.fromWebAssembly(t,n)}},exportFunctions(){const A={};for(const[e,{argType:t,returnType:i,alias:n}]of Object.entries(this.exports)){const r=this[n??e];r&&(A[`_${e}`]=this.exportFunction(r,t,i,e))}return A},importFunctions(A){for(const[e,{argType:t,returnType:i}]of Object.entries(this.imports)){const s=A[e];s&&((0,n.n8)(this,e,(0,n.vQ)(this.importFunction(s,t,i))),this.destructors.push((()=>this[e]=r)))}},async instantiateWebAssembly(A,e){const{memoryInitial:t,memoryMax:i,tableInitial:r,multithreaded:s}=this.options=e,a=await A,g="Response"===a[Symbol.toStringTag]?"Streaming":"",o=WebAssembly,I=o["compile"+g],c=this.executable=await I(a),Q=this.exportFunctions(),l={},C={},B={},u=this.exportedModules={env:l,wasi:C,wasi_snapshot_preview1:B};for(const{module:A,name:e,kind:t}of o.Module.imports(c))"function"===t&&("env"===A?l[e]=Q[e]??n.Ie:"wasi_snapshot_preview1"===A?B[e]=this.getWASIHandler(e):"wasi"===A&&(C[e]=this.getThreadHandler?.(e)??n.Ie));return this.memory=l.memory=new o.Memory({initial:t,maximum:i,shared:s}),this.table=l.__indirect_function_table=new o.Table({initial:r,element:"anyfunc",shared:s}),this.initialTableLength=r,o.instantiate(c,u)},loadModule(A,e){return this.initPromise=(async()=>{const t=await this.instantiateWebAssembly(A,e),{exports:i}=t;if(this.importFunctions(i),this.customWASI){const A={...i,memory:this.memory},e=new Proxy(t,{get:(e,t)=>"exports"===t?A:e[t]});this.customWASI.initialize?.(e)}this.initialize()})()},displayPanic(A,e){const t=new Uint8Array(this.memory.buffer,A,e),i=(0,n.g7)(t);console.error(`Zig panic: ${i}`)}}});const r=()=>{throw new Error("Module was abandoned")}},9268:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4540);(0,n.co)({linkVariables(A){if(!this.memory)return void(this.initPromise=this.initPromise.then((()=>this.linkVariables(A))));const e=this.getCopyFunction();for(const{object:t,handle:n}of this.variables){const s=t[r.Qy],a=n;let g=t[r.Qy]=this.obtainZigView(a,s.byteLength);A&&e(g,s),t.constructor[r.fV]?.save?.(g,t),this.destructors.push((()=>{g=this.restoreView(t[r.Qy]);const A=t[r.Qy]=this.allocateMemory(g.bytelength);e(A,g)}));const o=A=>{const e=A[r._f];if(e){const A=g.byteOffset;for(const t of Object.values(e))if(t){const e=t[r.Qy];if(e.buffer===s.buffer){const i=A+e.byteOffset-s.byteOffset;t[r.Qy]=this.obtainView(g.buffer,i,e.byteLength),t.constructor[r.fV]?.save?.(g,t),o(t)}}}};o(t),t[r.g9]?.((function(){this[r.q6]()}),i.F7.IgnoreInactive)}},imports:{recreateAddress:{argType:"i",returnType:"i"}}})},7409:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4540),s=t(8e3);(0,n.co)({updatePointerAddresses(A,e){const t=new Map,n=new Map,a=[],g=function(A){const e=this[r.C7];if(void 0===t.get(e)){const A=e[r._f][0];if(A){const i={target:A,writable:!e.constructor.const},o=A[r.Qy];if(o[r.Dr])t.set(e,null);else{t.set(e,A);const I=n.get(o.buffer);if(I){const A=Array.isArray(I)?I:[I],e=(0,s.ZG)(A,o.byteOffset,(A=>A.target[r.Qy].byteOffset));A.splice(e,0,i),Array.isArray(I)||(n.set(o.buffer,A),a.push(A))}else n.set(o.buffer,i);A[r.g9]?.(g,0)}}}},o=i.F7.IgnoreRetval|i.F7.IgnoreInactive;e[r.g9](g,o);const I=this.findTargetClusters(a),c=new Map;for(const A of I)for(const e of A.targets)c.set(e,A);for(const[e,i]of t)if(i){const t=c.get(i),n=t?.writable??!e.constructor.const;e[r.BD]=this.getTargetAddress(A,i,t,n),r.pi in e&&(e[r.pi]=i.length)}},updatePointerTargets(A,e,t=!1){const n=new Map,s=function(e){const t=this[r.C7];if(!n.get(t)){n.set(t,!0);const a=t[r._f][0],g=a&&e&i.F7.IsImmutable?a:t[r.q6](A,!0,!(e&i.F7.IsInactive)),o=t.constructor.const?i.F7.IsImmutable:0;o&i.F7.IsImmutable||a&&!a[r.Qy][r.Dr]&&a[r.g9]?.(s,o),g!==a&&g&&!g[r.Qy][r.Dr]&&g?.[r.g9]?.(s,o)}},a=t?i.F7.IgnoreRetval:0;e[r.g9](s,a)},findTargetClusters(A){const e=[];for(const t of A){let A=null,i=0,n=0,s=null;for(const{target:a,writable:g}of t){const t=a[r.Qy],{byteOffset:o,byteLength:I}=t,c=o+I;let Q=!0;A&&(n>o?(s?s.writable||=g:(s={targets:[A],start:i,end:n,address:void 0,misaligned:void 0,writable:g},e.push(s)),s.targets.push(a),c>n?s.end=c:Q=!1):s=null),Q&&(A=a,i=o,n=c)}}return e}})},2436:(A,e,t)=>{var i=t(6560),n=t(8e3);(0,i.co)({...{exports:{allocateJsThunk:{argType:"ii",returnType:"i"},freeJsThunk:{argType:"ii",returnType:"i"}},init(){this.thunkSources=[],this.thunkMap=new Map},addJsThunkSource(){const{memoryInitial:A,memoryMax:e,tableInitial:t,multithreaded:i}=this.options,r=WebAssembly,s={},a={},g={env:s,wasi:{},wasi_snapshot_preview1:a};for(const{module:A,name:e,kind:t}of r.Module.imports(this.executable))"function"===t&&("env"===A?s[e]=n.Ie:"wasi_snapshot_preview1"===A&&(a[e]=n.Ie));s.memory=new r.Memory({initial:A,maximum:e,shared:i});const o=s.__indirect_function_table=new r.Table({initial:t,element:"anyfunc"}),{exports:I}=new r.Instance(this.executable,g),{createJsThunk:c,destroyJsThunk:Q}=I,l={thunkCount:0,createJsThunk:c,destroyJsThunk:Q,table:o};return this.thunkSources.unshift(l),l},allocateJsThunk(A,e){let t,i=0;for(t of this.thunkSources){i=t.createJsThunk(A,e);break}i||(t=this.addJsThunkSource(),i=t.createJsThunk(A,e));const n=t.table.get(i);let r=0;for(let A=this.table.length-1;A>=this.initialTableLength;A--)if(!this.table.get(A)){r=A;break}return r||(r=this.table.length,this.table.grow(8)),this.table.set(r,n),t.thunkCount++,this.thunkMap.set(n,{source:t,sourceAddress:i}),r},freeJsThunk(A,e){let t=0;const i=this.table.get(e);this.table.set(e,null);const n=this.thunkMap.get(i);if(n){const{source:e,sourceAddress:r}=n;if(t=e.destroyJsThunk(A,r),0==--e.thunkCount){const A=this.thunkSources.indexOf(e);-1!==A&&this.thunkSources.splice(A,1)}this.thunkMap.delete(i)}return t}}})},8738:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);function g(A,e){const{byteSize:t,type:n}=e;if(!(n===i.ev.Slice?A.byteLength%t==0:A.byteLength===t))throw new r.t7(e,A)}function o(A){throw new r.Zb(A)}(0,n.co)({init(){this.viewMap=new WeakMap},extractView(A,e,t=o){const{type:n,byteSize:I,constructor:c}=A;let Q;const l=e?.[Symbol.toStringTag];if(l&&("DataView"===l?Q=this.registerView(e):"ArrayBuffer"===l?Q=this.obtainView(e,0,e.byteLength):(l&&l===c[s.pM]?.name||"Uint8ClampedArray"===l&&c[s.pM]===Uint8Array)&&(Q=this.obtainView(e.buffer,e.byteOffset,e.byteLength))),!Q){const t=e?.[s.Qy];if(t){const{constructor:s,instance:{members:[g]}}=A;if((0,a.pU)(e,s))return t;if(function(A){return A===i.ev.Array||A===i.ev.Vector||A===i.ev.Slice}(n)){const{byteSize:s,structure:{constructor:o}}=g,c=(0,a.be)(e,o);if(void 0!==c){if(n===i.ev.Slice||c*s===I)return t;throw new r.Y8(A,null,e)}}}}return Q?void 0!==I&&g(Q,A):t?.(A,e),Q},assignView(A,e,t,n,a){const{byteSize:o,type:I}=t,c=o??1;if(A[s.Qy]){const n=I===i.ev.Slice?c*A.length:c;if(e.byteLength!==n)throw new r.t7(t,e,A);const a={[s.Qy]:e};A.constructor[s.fd]?.validateData?.(a,A.length),A[s.sF](a)}else{void 0!==o&&g(e,t);const i=e.byteLength/c,r={[s.Qy]:e};A.constructor[s.fd]?.validateData?.(r,i),a&&(n=!0),A[s.IW](n?null:e,i,a),n&&A[s.sF](r)}},findViewAt(A,e,t){let i,n=this.viewMap.get(A);if(n)if(n instanceof DataView)if(n.byteOffset===e&&n.byteLength===t)i=n,n=null;else{const e=n,t=`${e.byteOffset}:${e.byteLength}`;n=new Map([[t,e]]),this.viewMap.set(A,n)}else i=n.get(`${e}:${t}`);return i?.[s.Dr]?.address===a.Y$&&(i=null),{existing:i,entry:n}},obtainView(A,e,t){const{existing:i,entry:n}=this.findViewAt(A,e,t);let r;return i||(r=new DataView(A,e,t),n?n.set(`${e}:${t}`,r):this.viewMap.set(A,r),A!==this.memory?.buffer&&A!==this.usizeMaxBuffer||(r[s.Dr]={address:e,len:t}),r)},registerView(A){if(!A[s.Dr]){const{buffer:e,byteOffset:t,byteLength:i}=A,{existing:n,entry:r}=this.findViewAt(e,t,i);if(n)return n;r?r.set(`${t}:${i}`,A):this.viewMap.set(e,A)}return A},allocateMemory(A,e=0,t=null){return t?.alloc?.(A,e)??this.allocateJSMemory(A,e)},...{allocateJSMemory(A,e){return this.obtainView(new ArrayBuffer(A),0,A)},restoreView(A){const e=A?.[s.Dr];return e?.len>0&&0===A.buffer.byteLength&&(A=this.obtainZigView(e.address,e.len),e.align&&(A[s.Dr].align=e.align)),A},defineRestorer(){const A=this;return{value(){const e=this[s.Qy],t=A.restoreView(e);if(e!==t){const A=this[s.KK]??this;return A[s.Qy]=t,A.constructor[s.fV]?.save?.(t,A[s.rG]??A),!0}return!1}}}}})},1432:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(4540);(0,i.co)({makeReadOnly(A){g(A)}});const s=Object.getOwnPropertyDescriptors,a=Object.defineProperty;function g(A){const e=A[r.C7];if(e)o(e,["length"]);else{const e=A[r.sO];e?(o(e),function(A){a(A,"set",{value:n.V0});const e=A.get;a(A,"get",{value:function(A){const t=e.call(this,A);return null===t?.[r.KK]&&g(t),t}})}(e)):o(A)}}function o(A,e=[]){const t=s(A.constructor.prototype);for(const[i,r]of Object.entries(t))r.set&&!e.includes(i)&&(r.set=n.V0,a(A,i,r));a(A,r.KK,{value:A})}},4773:(A,e,t)=>{t.d(e,{M:()=>n});var i=t(6560);function n(){return new((0,i.NP)())}},1454:(A,e,t)=>{var i=t(6560),n=t(4540),r=t(8e3);function s(){const A=this[n.sO]??this,e=this.length;let t=0;return{next(){let i,n;if(t<e){const e=t++;i=A.get(e),n=!1}else n=!0;return{value:i,done:n}}}}function a(A){const e=(0,r.L9)(A),t=this[n.sO]??this,i=this.length;let s=0;return{next(){let A,n;if(s<i){const i=s++;A=[i,e((()=>t.get(i)))],n=!1}else n=!0;return{value:A,done:n}}}}function g(A){return{[Symbol.iterator]:a.bind(this,A),length:this.length}}(0,i.co)({defineArrayEntries:()=>(0,r.vQ)(g),defineArrayIterator:()=>(0,r.vQ)(s)})},6402:(A,e,t)=>{var i=t(6560),n=t(4540),r=t(8e3);function s(A){return{[Symbol.iterator]:g.bind(this,A),length:this[n.n5].length}}function a(A){return s.call(this,A)[Symbol.iterator]()}function g(A){const e=(0,r.L9)(A),t=this,i=this[n.n5];let s=0;return{next(){let A,n;if(s<i.length){const r=i[s++];A=[r,e((()=>t[r]))],n=!1}else n=!0;return{value:A,done:n}}}}(0,i.co)({defineStructEntries:()=>(0,r.vQ)(s),defineStructIterator:()=>(0,r.vQ)(a)})},9098:(A,e,t)=>{t.d(e,{E:()=>n});var i=t(1388);function n(A,{get:e,set:t}){return void 0!==A?{get:function(){return e.call(this,A)},set:t?function(e,i){return t.call(this,A,e,i)}:void 0}:{get:e,set:t}}(0,t(6560).co)({defineMember(A,e=!0){if(!A)return{};const{type:t,structure:n}=A,r=this[`defineMember${i.hQ[t]}`].call(this,A);if(e&&n){const{type:e}=n,t=this[`transformDescriptor${i.EK[e]}`];if(t)return t.call(this,r,A)}return r}})},9494:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(8e3);(0,i.co)({defineBase64(A){const e=this;return(0,r.NV)({get(){return(0,r.WG)(this.dataView)},set(t,i){if("string"!=typeof t)throw new n.Pd("string",t);const s=(0,r.y4)(t);e.assignView(this,s,A,!1,i)}})}})},337:(A,e,t)=>{(0,t(6560).co)({defineMemberBool(A){return this.defineMemberUsing(A,this.getAccessor)}})},3971:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(8e3);(0,i.co)({defineClampedArray(A){const e=this,t=Uint8ClampedArray;return(0,r.NV)({get(){const A=this.typedArray;return new t(A.buffer,A.byteOffset,A.length)},set(i,r){if(i?.[Symbol.toStringTag]!==t.name)throw new n.Pd(t.name,i);const s=new DataView(i.buffer,i.byteOffset,i.byteLength);e.assignView(this,s,A,!0,r)}})}})},7431:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(4540),s=t(8e3);(0,i.co)({defineDataView(A){const e=this;return(0,s.NV)({get(){return this[r.zN]?.(),this[r.Qy]},set(t,i){if("DataView"!==t?.[Symbol.toStringTag])throw new n.Pd("DataView",t);e.assignView(this,t,A,!0,i)}})}})},7591:(A,e,t)=>{(0,t(6560).co)({defineMemberFloat(A){return this.defineMemberUsing(A,this.getAccessor)}})},6717:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(9098);function g(A){return o.call(this,A).$}function o(A){return this[s._f][A]??this[s.tZ](A)}function I(A){const e=o.call(this,A).$;return e?e.string:e}function c(A,e,t){o.call(this,A)[s.Zv](e,t)}(0,n.co)({defineMemberObject:A=>(0,a.E)(A.slot,{get:A.flags&i.pK.IsString?I:A.structure.flags&i.yi.HasValue?g:o,set:A.flags&i.pK.IsReadOnly?r.V0:c})})},2164:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(4540);(0,i.co)({...{defineMemberUsing(A,e){const{littleEndian:t}=this,{bitOffset:i,byteSize:s}=A,a=e.call(this,"get",A),g=e.call(this,"set",A);if(void 0!==i){const A=i>>3;return{get:function(){try{return a.call(this[r.Qy],A,t)}catch(e){if(e instanceof TypeError&&this[r.zN]?.())return a.call(this[r.Qy],A,t);throw e}},set:function(e){try{return g.call(this[r.Qy],A,e,t)}catch(i){if(i instanceof TypeError&&this[r.zN]?.())return g.call(this[r.Qy],A,e,t);throw i}}}}return{get:function(e){try{return a.call(this[r.Qy],e*s,t)}catch(i){if(i instanceof TypeError&&this[r.zN]?.())return a.call(this[r.Qy],e*s,t);throw(0,n.qx)(A,e,i)}},set:function(e,i){try{return g.call(this[r.Qy],e*s,i,t)}catch(a){if(a instanceof TypeError&&this[r.zN]?.())return g.call(this[r.Qy],e*s,i,t);throw(0,n.qx)(A,e,a)}}}}}})},5496:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(4540),s=t(8e3);(0,i.co)({defineString(A){const e=this,{byteSize:t}=A.instance.members[0],i="utf-"+8*t;return(0,s.NV)({get(){let A=(0,s.g7)(this.typedArray,i);const e=this.constructor[r.fd]?.value;return void 0!==e&&A.charCodeAt(A.length-1)===e&&(A=A.slice(0,-1)),A},set(t,a){if("string"!=typeof t)throw new n.Pd("string",t);const g=this.constructor[r.fd]?.value;void 0!==g&&t.charCodeAt(t.length-1)!==g&&(t+=String.fromCharCode(g));const o=(0,s.wx)(t,i),I=new DataView(o.buffer);e.assignView(this,I,A,!1,a)}})}})},6135:(A,e,t)=>{var i=t(6560),n=t(3456);(0,i.co)({defineToJSON:()=>({value(){return(0,n.F)(this,!0)}})})},9813:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(4540),s=t(9098);(0,i.co)({defineMemberType(A,e){const{slot:t}=A;return(0,s.E)(t,{get(A){const e=this[r._f][A];return e?.constructor},set:n.V0})}})},3793:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(8e3);(0,i.co)({defineTypedArray(A){const e=this,t=this.getTypedArray(A);return(0,r.NV)({get(){const A=this.dataView,e=A.byteLength/t.BYTES_PER_ELEMENT;return new t(A.buffer,A.byteOffset,e)},set(i,r){if(i?.[Symbol.toStringTag]!==t.name)throw new n.Pd(t.name,i);const s=new DataView(i.buffer,i.byteOffset,i.byteLength);e.assignView(this,s,A,!0,r)}})}})},8305:(A,e,t)=>{(0,t(6560).co)({defineMemberUint(A){let e=this.getAccessor;return this.runtimeSafety&&(e=this.addRuntimeCheck(e)),e=this.addIntConversion(e),this.defineMemberUsing(A,e)}})},3456:(A,e,t)=>{t.d(e,{F:()=>o});var i=t(1388),n=t(6560),r=t(4540),s=t(8e3);(0,n.co)({defineValueOf:()=>({value(){return o(this,!1)}})});const a=BigInt(Number.MAX_SAFE_INTEGER),g=BigInt(Number.MIN_SAFE_INTEGER);function o(A,e){const t={error:e?"return":"throw"},n=(0,s.L9)(t),o=new Map,I=function(A){const s="function"==typeof A?i.ev.Struct:A?.constructor?.[r.ZE];if(void 0===s){if(e){if("bigint"==typeof A&&g<=A&&A<=a)return Number(A);if(A instanceof Error)return{error:A.message}}return A}let c=o.get(A);if(void 0===c){let e;switch(s){case i.ev.Struct:e=A[r.lf](t),c=A.constructor[r.Wg]&i.sU.IsTuple?[]:{};break;case i.ev.Union:e=A[r.lf](t),c={};break;case i.ev.Array:case i.ev.Vector:case i.ev.Slice:e=A[r.lf](),c=[];break;case i.ev.Pointer:try{c=A["*"]}catch(A){c=Symbol.for("inaccessible")}break;case i.ev.Enum:c=n((()=>String(A)));break;case i.ev.Opaque:c={};break;default:c=n((()=>A.$))}if(c=I(c),o.set(A,c),e)for(const[A,t]of e)c[A]=I(t)}return c};return I(A)}},8539:(A,e,t)=>{var i=t(6560),n=t(4762);(0,i.co)({defineMemberVoid(A,e){const{bitOffset:t}=A;return{get(){},set:void 0!==t?function(e){if(void 0!==e)throw new n.UQ(A)}:function(e,t){if(void 0!==t)throw new n.UQ(A);if(e<0||e>=this.length)throw new n._l(A,e)}}}})},7679:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({defineStructure(A){const{type:e,byteSize:t}=A,n=this[`define${i.EK[e]}`],r=[],g={},o={dataView:this.defineDataView(A),base64:this.defineBase64(A),toJSON:this.defineToJSON(),valueOf:this.defineValueOf(),[s.KK]:{value:null},[s.Bl]:(0,a.vQ)(g),[s.Rk]:(0,a.vQ)(r),[s.sF]:this.defineCopier(t),[s.zN]:this.defineRestorer()},I=A.constructor=n.call(this,A,o);for(const[A,e]of Object.entries(o)){const t=e?.set;t&&!g[A]&&"$"!==A&&(g[A]=t,r.push(A))}return(0,a.ny)(I.prototype,o),I},finalizeStructure(A){const{name:e,type:t,constructor:n,align:r,byteSize:g,flags:o,signature:I,static:{members:c,template:Q}}=A,l=[],C={name:(0,a.vQ)(e),toJSON:this.defineToJSON(),valueOf:this.defineValueOf(),[s.J2]:(0,a.vQ)(I),[s.M0]:(0,a.vQ)(this),[s.Ec]:(0,a.vQ)(r),[s.SK]:(0,a.vQ)(g),[s.ZE]:(0,a.vQ)(t),[s.Wg]:(0,a.vQ)(o),[s.n5]:(0,a.vQ)(l),[s.pM]:(0,a.vQ)(this.getTypedArray(A)),[Symbol.iterator]:this.defineStructIterator(),[s.lf]:this.defineStructEntries(),[s.n5]:(0,a.vQ)(l)},B={[Symbol.toStringTag]:(0,a.vQ)(e)};for(const A of c){const{name:e,slot:t,flags:n}=A;if(A.structure.type===i.ev.Function){let r=Q[s._f][t];n&i.pK.IsString&&(r[s.fM]=!0),C[e]=(0,a.vQ)(r),r.name||(0,a.n8)(r,"name",(0,a.vQ)(e));const[g,o]=/^(get|set)\s+([\s\S]+)/.exec(e)?.slice(1)??[],I="get"===g?0:1;if(g&&r.length===I&&(C[o]||={},C[o][g]=r),A.flags&i.pK.IsMethod){const A=function(...A){try{return r(this,...A)}catch(A){throw A[s.q6]?.(1),A}};(0,a.ny)(A,{name:(0,a.vQ)(e),length:(0,a.vQ)(r.length-1)}),B[e]=(0,a.vQ)(A),g&&A.length===I&&((B[o]||={})[g]=A)}}else C[e]=this.defineMember(A),l.push(e)}C[s._f]=l.length>0&&(0,a.vQ)(Q[s._f]);const u=this[`finalize${i.EK[t]}`];!1!==u?.call(this,A,C,B)&&((0,a.ny)(n.prototype,B),(0,a.ny)(n,C))},createConstructor(A,e={}){const{type:t,byteSize:n,align:g,flags:o,instance:{members:I,template:c}}=A,{onCastError:Q}=e;let l;if(c?.[s._f]){const A=I.filter((A=>A.flags&i.pK.IsReadOnly));A.length>0&&(l=A.map((A=>A.slot)))}const C=new a.UF,B=this,u=function(e,a={}){const{allocator:I}=a,E=this instanceof u;let f,y;if(E){if(0===arguments.length)throw new r.ci(A);if(f=this,o&i.yi.HasSlot&&(f[s._f]={}),s.IW in f)f[s.Zv](e,I),y=f[s.Qy];else{const A=t!==i.ev.Pointer?I:null;f[s.Qy]=y=B.allocateMemory(n,g,A)}}else{if(s.mL in u&&(f=u[s.mL].call(this,e,a),!1!==f))return f;if(y=B.extractView(A,e,Q),f=C.find(y))return f;f=Object.create(u.prototype),s.IW in f?B.assignView(f,y,A,!1,!1):f[s.Qy]=y,o&i.yi.HasSlot&&(f[s._f]={})}if(l)for(const A of l)f[s._f][A]=c[s._f][A];return f[s.f$]?.(),E&&(s.IW in f||f[s.Zv](e,I)),s.vm in f&&(f=f[s.vm]()),C.save(y,f)};return(0,a.n8)(u,s.fV,(0,a.vQ)(C)),c?.[s.Qy]&&(0,a.n8)(c,s.zN,this.defineRestorer()),u},createApplier(A){const{instance:{template:e}}=A;return function(t,i){const n=Object.keys(t),a=this[s.Rk],g=this[s.Bl];for(const e of n)if(!(e in g))throw new r.xH(A,e);let o=0,I=0,c=0,Q=0;for(const A of a){const e=g[A];e.special?A in t&&Q++:(o++,A in t?I++:e.required&&c++)}if(0!==c&&0===Q){const e=a.filter((A=>g[A].required&&!(A in t)));throw new r.SB(A,e)}if(Q+I>n.length)for(const A of a)A in t&&(n.includes(A)||n.push(A));I<o&&0===Q&&e&&e[s.Qy]&&this[s.sF](e);for(const A of n)g[A].call(this,t[A],i);return n.length}},getTypedArray(A){const{type:e,instance:t}=A;if(void 0!==e&&t){const[A]=t.members;switch(e){case i.ev.Enum:case i.ev.ErrorSet:case i.ev.Primitive:{const{byteSize:e,type:t}=A,n=t===i.Z9.Float?"Float":t===i.Z9.Int?"Int":"Uint",r=e>4&&t!==i.Z9.Float?"Big":"";return globalThis[r+n+8*e+"Array"]}case i.ev.Array:case i.ev.Slice:case i.ev.Vector:return this.getTypedArray(A.structure)}}}})},2244:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({defineArgStruct(A,e){const{flags:t,byteSize:n,align:g,length:o,instance:{members:I}}=A,c=this,Q=I.slice(1),l=function(A,e){const a=this instanceof l;let I,C;if(a?(I=this,C=c.allocateMemory(n,g)):(I=Object.create(l.prototype),C=A),I[s.Qy]=C,t&i.yi.HasSlot&&(I[s._f]={}),!a)return I;{let n;if(t&i.e2.HasOptions&&A.length===o+1&&(n=A.pop()),A.length!==o)throw new r.nz(o,A.length);t&i.e2.IsAsync&&(I[s.vm]=null),c.copyArguments(I,A,Q,n,e)}};for(const A of I)e[A.name]=this.defineMember(A);const C=e.retval.set;return e.length=(0,a.vQ)(Q.length),e[s.tZ]=t&i.yi.HasObject&&this.defineVivificatorStruct(A),e[s.g9]=t&i.yi.HasPointer&&this.defineVisitorArgStruct(I),e[s.zg]=(0,a.vQ)((function(A){C.call(this,A,this[s.Gz])})),e[Symbol.iterator]=this.defineArgIterator?.(Q),e[s.sF]=this.defineRetvalCopier(I[0]),l},finalizeArgStruct(A,e){const{flags:t}=A;e[s.du]=(0,a.vQ)(!!(t&i.e2.IsThrowing))}})},9433:(A,e,t)=>{var i=t(6560),n=t(4540),r=t(8e3);(0,i.co)({defineFinalizerArray:({get:A,set:e})=>({value(){const t=new Proxy(this,s);return(0,r.ny)(this,{[n.rG]:{value:t},get:{value:A.bind(this)},set:e&&{value:e.bind(this)}}),t}}),defineVivificatorArray(A){const{instance:{members:[e]}}=A,{byteSize:t,structure:i}=e,r=this;return{value:function(A){const{constructor:e}=i;this[n.zN]?.();const s=this[n.Qy],a=s.byteOffset+t*A,g=r.obtainView(s.buffer,a,t);return this[n._f][A]=e.call(n.f7,g)}}}});const s={get(A,e){const t="symbol"==typeof e?0:0|e;return 0!==t||t==e?A.get(t):e===n.sO?A:A[e]},set(A,e,t){const i="symbol"==typeof e?0:0|e;return 0!==i||i==e?A.set(i,t):A[e]=t,!0},deleteProperty(A,e){const t="symbol"==typeof e?0:0|e;return 0===t&&t!=e&&(delete A[e],!0)},has(A,e){const t="symbol"==typeof e?0:0|e;return 0!==t||t==e?t>=0&&t<A.length:A[e]},ownKeys(A){const e=[];for(let t=0,i=A.length;t<i;t++)e.push(`${t}`);return e.push("length",n.rG),e},getOwnPropertyDescriptor(A,e){const t="symbol"==typeof e?0:0|e;return 0===t&&t!=e?Object.getOwnPropertyDescriptor(A,e):t>=0&&t<A.length?{value:A.get(t),enumerable:!0,writable:!0,configurable:!0}:void 0}}},3509:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({defineArray(A,e){const{length:t,instance:{members:[n]},flags:g}=A,o=this.createApplier(A),I=this.defineMember(n),{set:c}=I,Q=this.createConstructor(A),l=function(e,n){if((0,a.pU)(e,Q))this[s.sF](e),g&i.yi.HasPointer&&this[s.g9]("copy",i.F7.Vivificate,e);else if("string"==typeof e&&g&i.uE.IsString&&(e={string:e}),e?.[Symbol.iterator]){if((e=(0,a.FU)(e)).length!==t)throw new r.Y8(A,this,e);let i=0;for(const A of e)c.call(this,i++,A,n)}else if(e&&"object"==typeof e){if(0===o.call(this,e))throw new r.L2(A,e)}else if(void 0!==e)throw new r.L2(A,e)};return e.$={get:a.V_,set:l},e.length=(0,a.vQ)(t),e.entries=e[s.lf]=this.defineArrayEntries(),g&i.uE.IsTypedArray&&(e.typedArray=this.defineTypedArray(A),g&i.uE.IsString&&(e.string=this.defineString(A)),g&i.uE.IsClampedArray&&(e.clampedArray=this.defineClampedArray(A))),e[Symbol.iterator]=this.defineArrayIterator(),e[s.Zv]=(0,a.vQ)(l),e[s.vm]=this.defineFinalizerArray(I),e[s.tZ]=g&i.yi.HasObject&&this.defineVivificatorArray(A),e[s.g9]=g&i.yi.HasPointer&&this.defineVisitorArray(),Q},finalizeArray(A,e){const{flags:t,instance:{members:[n]}}=A;e.child=(0,a.vQ)(n.structure.constructor),e[s.fd]=t&i.uE.HasSentinel&&this.defineSentinel(A)}})},8371:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({defineEnum(A,e){const{instance:{members:[t]}}=A,i=this.defineMember(t),{get:n,set:g}=i,{get:o}=this.defineMember(t,!1),I=this.createApplier(A),c=["string","number","tagged union"],Q=this.createConstructor(A,{onCastError(A,e){throw new r.is(A,c,e)}});return e.$=i,e.toString=(0,a.vQ)(a.dI),e[Symbol.toPrimitive]={value(A){switch(A){case"string":case"default":return this.$[s.o_];default:return o.call(this)}}},e[s.Zv]=(0,a.vQ)((function(e){if(e&&"object"==typeof e){if(0===I.call(this,e))throw new r.is(A,c,e)}else void 0!==e&&g.call(this,e)})),Q},finalizeEnum(A,e){const{flags:t,constructor:n,instance:{members:[r]},static:{members:g,template:o}}=A,I=o[s._f],{get:c,set:Q}=this.defineMember(r,!1),l={};for(const{name:A,flags:t,slot:n}of g)if(t&i.pK.IsPartOfSet){const t=I[n];(0,a.n8)(t,s.o_,(0,a.vQ)(A));const i=c.call(t);e[A]={value:t,writable:!1},l[i]=t}e[s.mL]={value(A){if("string"==typeof A)return n[A];if("number"==typeof A||"bigint"==typeof A){let e=l[A];if(!e&&t&i.Q6.IsOpenEnded){e=new n(void 0),Q.call(e,A);const t=`${A}`;(0,a.n8)(e,s.o_,(0,a.vQ)(t)),(0,a.n8)(n,t,(0,a.vQ)(e)),l[A]=e}return e}return A instanceof n?A:A?.[s.Dk]instanceof n&&A[s.Dk]}},e[s.pM]=(0,a.vQ)(this.getTypedArray(A))},transformDescriptorEnum(A,e){const{type:t,structure:n}=e;if(t===i.Z9.Object)return A;const s=function(A){const{constructor:e}=n,t=e(A);if(!t)throw new r.iS(n,A);return t},{get:a,set:g}=A;return{get:0===a.length?function(){const A=a.call(this);return s(A)}:function(A){const e=a.call(this,A);return s(e)},set:1===g.length?function(A){A=s(A)[Symbol.toPrimitive](),g.call(this,A)}:function(A,e){const t=s(e);g.call(this,A,t[Symbol.toPrimitive]())}}}})},903:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({init(){this.ZigError=null,this.globalItemsByIndex={},this.globalErrorSet=null},defineErrorSet(A,e){const{instance:{members:[t]},byteSize:n,flags:o}=A;if(!this.ZigError){this.ZigError=class extends g{};const A={type:i.ev.ErrorSet,flags:i.Zm.IsGlobal,byteSize:n,name:"anyerror",instance:{members:[t]},static:{members:[],template:{SLOTS:{}}}},e=this.defineStructure(A);this.finalizeStructure(A),this.globalErrorSet=e}if(this.globalErrorSet&&o&i.Zm.IsGlobal)return this.globalErrorSet;const I=this.defineMember(t),{set:c}=I,Q=["string","number"],l=this.createApplier(A),C=this.createConstructor(A,{onCastError(A,e){throw new r.is(A,Q,e)}});return e.$=I,e[s.Zv]=(0,a.vQ)((function(e){if(e instanceof C[s.tp])c.call(this,e);else if(e&&"object"==typeof e&&!(0,r.FD)(e)){if(0===l.call(this,e))throw new r.is(A,Q,e)}else void 0!==e&&c.call(this,e)})),C},finalizeErrorSet(A,e){const{constructor:t,flags:n,instance:{members:[g]},static:{members:o,template:I}}=A;if(this.globalErrorSet&&n&i.Zm.IsGlobal)return!1;const c=I?.[s._f]??{},Q=n&i.Zm.IsGlobal?this.globalItemsByIndex:{},{get:l}=this.defineMember(g,!1);for(const{name:A,slot:t}of o){const i=c[t],n=l.call(i);let r=this.globalItemsByIndex[n];const g=!!r;r||(r=new this.ZigError(A,n));const o=(0,a.vQ)(r);e[A]=o;const I=`${r}`;e[I]=o,Q[n]=r,g||((0,a.ny)(this.globalErrorSet,{[A]:o,[I]:o}),this.globalErrorSet[s.n5].push(A),this.globalItemsByIndex[n]=r)}e[s.mL]={value:A=>"number"==typeof A?Q[A]:"string"==typeof A?t[A]:A instanceof t[s.tp]?Q[Number(A)]:(0,r.FD)(A)?t[`Error: ${A.error}`]:A instanceof Error&&t[`${A}`]},e[s.tp]=(0,a.vQ)(this.ZigError)},transformDescriptorErrorSet(A,e){const{type:t,structure:n}=e;if(t===i.Z9.Object)return A;const s=A=>{const{constructor:e,flags:t}=n,s=e(A);if(!s){if(t&i.Zm.IsGlobal&&"number"==typeof A){const e=new this.ZigError(`Unknown error: ${A}`,A);return this.globalItemsByIndex[A]=e,(0,a.n8)(this.globalErrorSet,`${e}`,(0,a.vQ)(e)),e}throw A instanceof Error?new r.Ho(n):new r.to(n,A)}return s},{get:g,set:o}=A;return{get:0===g.length?function(){const A=g.call(this);return s(A)}:function(A){const e=g.call(this,A);return s(e)},set:1===o.length?function(A){const e=s(A);A=Number(e),o.call(this,A)}:function(A,e){const t=s(e);e=Number(t),o.call(this,A,e)}}}});class g extends Error{constructor(A,e){super((0,r.a6)(A)),this.number=e,this.stack=void 0}[Symbol.toPrimitive](A){switch(A){case"string":case"default":return Error.prototype.toString.call(this,A);default:return this.number}}toJSON(){return{error:this.message}}}},3692:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({defineErrorUnion(A,e){const{instance:{members:[t,n]},flags:g}=A,{get:o,set:I}=this.defineMember(t),{get:c,set:Q}=this.defineMember(n),{get:l,set:C}=this.defineMember(n,!1),B=t.type===i.Z9.Void,u=n.structure.constructor,E=function(){this[s.Ut](),this[s.g9]?.("clear")},f=this.createApplier(A),y=function(A,e){if((0,a.pU)(A,p))this[s.sF](A),g&i.yi.HasPointer&&(l.call(this)||this[s.g9]("copy",0,A));else if(A instanceof u[s.tp]&&u(A))Q.call(this,A),E.call(this);else if(void 0!==A||B)try{I.call(this,A,e),C.call(this,0)}catch(e){if(A instanceof Error){const e=u(A)??u.Unexpected;if(!e)throw new r.Ho(n.structure);Q.call(this,e),E.call(this)}else if((0,r.FD)(A))Q.call(this,A),E.call(this);else{if(!A||"object"!=typeof A)throw e;if(0===f.call(this,A))throw e}}},{bitOffset:h,byteSize:m}=t,p=this.createConstructor(A);return e.$={get:function(){if(l.call(this))throw c.call(this);return o.call(this)},set:y},e[s.Zv]=(0,a.vQ)(y),e[s.tZ]=g&i.yi.HasObject&&this.defineVivificatorStruct(A),e[s.Ut]=this.defineResetter(h/8,m),e[s.g9]=g&i.yi.HasPointer&&this.defineVisitorErrorUnion(t,l),p}})},7382:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({defineFunction(A,e){const{instance:{members:[t],template:n},static:{template:g}}=A,o=new a.UF,{structure:{constructor:I}}=t,c=this,Q=function(e){const t=this instanceof Q;let l,C;if(t){if(0===arguments.length)throw new r.ci(A);if("function"!=typeof e)throw new r.Pd("function",e);if(I[s.ZE]===i.ev.VariadicStruct||!g)throw new r.O0;l=c.getFunctionThunk(e,g)}else{if(this!==s.M0)throw new r.Qm;l=e}if(C=o.find(l))return C;const B=I.prototype.length,u=t?c.createInboundCaller(e,I):c.createOutboundCaller(n,I);return(0,a.ny)(u,{length:(0,a.vQ)(B),name:(0,a.vQ)(t?e.name:"")}),Object.setPrototypeOf(u,Q.prototype),u[s.Qy]=l,o.save(l,u),u};return Object.setPrototypeOf(Q.prototype,Function.prototype),e.valueOf=e.toJSON=(0,a.vQ)(a.Ng),Q},finalizeFunction(A,e,t){t[Symbol.toStringTag]=void 0}})},3750:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4540),s=t(8e3);(0,n.co)({defineOptional(A,e){const{instance:{members:[t,n]},flags:a}=A,{get:g,set:o}=this.defineMember(t),{get:I,set:c}=this.defineMember(n),Q=t.type===i.Z9.Void,l=function(A,e){(0,s.pU)(A,C)?(this[r.sF](A),a&i.yi.HasPointer&&I.call(this)&&this[r.g9]("copy",i.F7.Vivificate,A)):null===A?(c.call(this,0),this[r.Ut]?.(),this[r.g9]?.("clear")):(void 0!==A||Q)&&(o.call(this,A,e),a&i.Nt.HasSelector?c.call(this,1):a&i.yi.HasPointer&&(I.call(this)||c.call(this,13)))},C=A.constructor=this.createConstructor(A),{bitOffset:B,byteSize:u}=t;return e.$={get:function(){return I.call(this)?g.call(this):(this[r.g9]?.("clear"),null)},set:l},e[r.Zv]=(0,s.vQ)(l),e[r.Ut]=a&i.Nt.HasSelector&&this.defineResetter(B/8,u),e[r.tZ]=a&i.yi.HasObject&&this.defineVivificatorStruct(A),e[r.g9]=a&i.yi.HasPointer&&this.defineVisitorOptional(t,I),C}})},1425:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);function g(A,e){return(0,a.xN)(A?.constructor?.child,e)&&A["*"]}function o(A,e,t){if(t&i.UT.IsMultiple){if(A?.constructor?.child?.child===e.child&&A["*"])return!0;if(t&i.UT.IsSingle&&g(A,e.child))return!0}return!1}(0,n.co)({definePointer(A,e){const{flags:t,byteSize:n,instance:{members:[I]}}=A,{structure:l}=I,{type:C,flags:B,byteSize:u=1}=l,E=t&i.UT.HasLength?n/2:n,{get:f,set:y}=this.defineMember({type:i.Z9.Uint,bitOffset:0,bitSize:8*E,byteSize:E,structure:{byteSize:E}}),{get:h,set:m}=t&i.UT.HasLength?this.defineMember({type:i.Z9.Uint,bitOffset:8*E,bitSize:8*E,byteSize:E,structure:{flags:i.AD.IsSize,byteSize:E}}):{},p=function(A,e=!0,n=!0){if(e||this[s.Qy][s.Dr]){if(!n)return this[s._f][0]=void 0;{const e=x.child,n=f.call(this),r=t&i.UT.HasLength?h.call(this):C===i.ev.Slice&&B&i.tv.HasSentinel?z.findSentinel(n,e[s.fd].bytes)+1:1;if(n!==this[s.c6]||r!==this[s.uL]){const a=z.findMemory(A,n,r,e[s.SK]),g=a?e.call(s.M0,a):null;return this[s._f][0]=g,this[s.c6]=n,this[s.uL]=r,t&i.UT.HasLength&&(this[s.E2]=null),g}}}return this[s._f][0]},b=function(A){y.call(this,A),this[s.c6]=A},d=B&i.tv.HasSentinel?1:0,w=t&i.UT.HasLength||B&i.tv.HasSentinel?function(A){m?.call?.(this,A-d),this[s.uL]=A}:null,S=function(){const A=this[s.C7]??this,e=!A[s._f][0],n=p.call(A,null,e);if(!n){if(t&i.UT.IsNullable)return null;throw new r.BY}return t&i.UT.IsConst?c(n):n},D=B&i.yi.HasValue?function(){return S.call(this).$}:S,v=t&i.UT.IsConst?r.V0:function(A){return S.call(this).$=A},z=this,k=function(e,n){const I=l.constructor;if(g(e,I)){if(!(t&i.UT.IsConst)&&e.constructor.const)throw new r.G9(A,e);e=e[s._f][0]}else if(t&i.UT.IsMultiple)o(e,I,t)&&(e=I(e[s._f][0][s.Qy]));else if(C===i.ev.Slice&&B&i.tv.IsOpaque&&e)if(e.constructor[s.ZE]===i.ev.Pointer)e=e[s.Qn]?.[s.Qy];else if(e[s.Qy])e=e[s.Qy];else if(e?.buffer instanceof ArrayBuffer&&!(e instanceof Uint8Array||e instanceof DataView)){const{byteOffset:A,byteLength:t}=e;void 0!==A&&void 0!==t&&(e=new DataView(e.buffer,A,t))}if(e instanceof I){e[s.zN]?.();const n=e[s.KK];if(n){if(!(t&i.UT.IsConst))throw new r.ck(A);e=n}}else if((0,a.pU)(e,I))e=I.call(s.M0,e[s.Qy]);else if(t&i.UT.IsSingle&&t&i.UT.IsMultiple&&e instanceof I.child)e=I(e[s.Qy]);else if(function(A,e){const t=A?.[Symbol.toStringTag];if(t){const i=e[s.pM];if(i)switch(t){case i.name:case"DataView":return!0;case"ArrayBuffer":return i===Uint8Array||i===Int8Array;case"Uint8ClampedArray":return i===Uint8Array}if(e.child&&void 0!==(0,a.be)(A,e.child))return!0}return!1}(e,I))e=I(z.extractView(l,e));else if(null==e||e[s.Qy]){if(!(void 0===e||t&i.UT.IsNullable&&null===e))throw new r.QB(A,e)}else{if(t&i.UT.IsSingle&&t&i.UT.IsMultiple&&"object"==typeof e&&!e[Symbol.iterator]){let A=!0;const t=I.prototype[s.Bl];for(const i of Object.keys(e)){const e=t[i];if(e?.special){A=!1;break}}A&&(e=[e])}if(s.pM in I&&e?.buffer&&e[Symbol.iterator])throw new r.QB(A,e);e=new I(e,{allocator:n})}const c=e?.[s.Qy]?.[s.Dr];if(c?.address===a.Y$)throw new r.xp(e);this[s.Qn]=e},x=this.createConstructor(A);return e["*"]={get:D,set:v},e.$={get:a.V_,set:k},e.length={get:function(){const A=S.call(this);return A?A.length:0},set:function(A){A|=0;const e=S.call(this);if(!e){if(0!==A)throw new r._L(A,0);return}if(e.length===A)return;e[s.zN]?.();const n=e[s.Qy],a=n[s.Dr];let g;if(a||(t&i.UT.HasLength?(this[s.E2]||=e.length,g=this[s.E2]):g=(n.buffer.byteLength-n.byteOffset)/u|0),A<0||A>g)throw new r._L(A,g);const o=A*u,I=a?z.obtainZigView(a.address,o):z.obtainView(n.buffer,n.byteOffset,o),c=l.constructor;this[s._f][0]=c.call(s.M0,I),w?.call?.(this,A)}},e.slice=C===i.ev.Slice&&{value(A,e){const t=this[s.Qn].slice(A,e);return new x(t)}},e.subarray=C===i.ev.Slice&&{value(A,e,t){const i=this[s.Qn].subarray(A,e,t);return new x(i)}},e[Symbol.toPrimitive]=C===i.ev.Primitive&&{value(A){return this[s.Qn][Symbol.toPrimitive](A)}},e[s.Zv]=(0,a.vQ)(k),e[s.vm]={value(){const A=C!==i.ev.Pointer?Q:{};let e;C===i.ev.Function?(e=function(){},e[s.Qy]=this[s.Qy],e[s._f]=this[s._f],Object.setPrototypeOf(e,x.prototype)):e=this;const t=new Proxy(e,A);return Object.defineProperty(e,s.rG,{value:t}),t}},e[s.Qn]={get:S,set:function(A){if(void 0===A)return;const e=this[s.C7]??this;if(A){const t=A[s.Qy][s.Dr];if(t){const{address:e,js:i}=t;b.call(this,e),w?.call?.(this,A.length),i&&(A[s.Qy][s.Dr]=void 0)}else if(e[s.Qy][s.Dr])throw new r.x1}else e[s.Qy][s.Dr]&&(b.call(this,0),w?.call?.(this,0));e[s._f][0]=A??null,t&i.UT.HasLength&&(e[s.E2]=null)}},e[s.q6]=(0,a.vQ)(p),e[s.BD]={set:b},e[s.pi]={set:w},e[s.g9]=this.defineVisitor(),e[s.c6]=(0,a.vQ)(0),e[s.uL]=(0,a.vQ)(0),e[s.E2]=t&i.UT.HasLength&&(0,a.vQ)(null),e.dataView=e.base64=void 0,x},finalizePointer(A,e){const{flags:t,constructor:n,instance:{members:[I]}}=A,{structure:c}=I,{type:Q,constructor:l}=c;e.child=l?(0,a.vQ)(l):{get:()=>c.constructor},e.const=(0,a.vQ)(!!(t&i.UT.IsConst)),e[s.mL]={value(e,a){if(this===s.M0||this===s.f7||e instanceof n)return!1;if(g(e,l))return new n(l(e["*"]),a);if(o(e,l,t))return new n(e);if(Q===i.ev.Slice)return new n(l(e),a);throw new r.zy(A)}}}});const I=new WeakMap;function c(A){let e=I.get(A);if(!e){const t=A[s.C7];e=t?new Proxy(t,l):new Proxy(A,C),I.set(A,e)}return e}const Q={get:(A,e)=>e===s.C7?A:e in A?A[e]:A[s.Qn][e],set:(A,e,t)=>(e in A?A[e]=t:A[s.Qn][e]=t,!0),deleteProperty:(A,e)=>(e in A?delete A[e]:delete A[s.Qn][e],!0),has:(A,e)=>e in A||e in A[s.Qn],apply:(A,e,t)=>A["*"].apply(e,t)},l={...Q,set:(A,e,t)=>(e in A?(0,r.V0)():A[s.Qn][e]=t,!0)},C={get(A,e){if(e===s.KK)return A;{const t=A[e];return t?.[s.Qy]?c(t):t}},set(A,e,t){(0,r.V0)()}}},8773:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(4540),s=t(8e3);(0,i.co)({definePrimitive(A,e){const{instance:{members:[t]}}=A,i=this.createApplier(A),{get:a,set:g}=this.defineMember(t),o=function(e){if((0,s.pU)(e,I))this[r.sF](e);else if(e&&"object"==typeof e){if(0===i.call(this,e)){const i=(0,s.BF)(t);throw new n.is(A,i,e)}}else void 0!==e&&g.call(this,e)},I=this.createConstructor(A);return e.$={get:a,set:o},e[r.Zv]=(0,s.vQ)(o),e[Symbol.toPrimitive]=(0,s.vQ)(a),I},finalizePrimitive(A,e){const{instance:{members:[t]}}=A;e[r.Qt]=(0,s.vQ)(t.bitSize),e[r.uT]=(0,s.vQ)(t.type)}})},3086:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);function g(){return this[s.pi]}function o(A,e){return(A|=0)<0?(A=e+A)<0&&(A=0):A>e&&(A=e),A}(0,n.co)({defineSlice(A,e){const{align:t,flags:n,byteSize:I,name:c,instance:{members:[Q]}}=A,{byteSize:l,structure:C}=Q,B=this,u=function(A,e,i){A||(A=B.allocateMemory(e*l,t,i)),this[s.Qy]=A,this[s.pi]=e},E=function(e,t){if(t!==this[s.pi])throw new r.Y8(A,this,e)},f=this.defineMember(Q),{set:y}=f,h=this.createApplier(A),m=function(e,t){if((0,a.pU)(e,b))this[s.Qy]?E.call(this,e,e.length):u.call(this,null,e.length,t),this[s.sF](e),n&i.yi.HasPointer&&this[s.g9]("copy",i.F7.Vivificate,e);else if("string"==typeof e&&n&i.tv.IsString)m.call(this,{string:e},t);else if(e?.[Symbol.iterator]){e=(0,a.FU)(e),this[s.Qy]?E.call(this,e,e.length):u.call(this,null,e.length,t);let A=0;for(const i of e)b[s.fd]?.validateValue(i,A,e.length),y.call(this,A++,i,t)}else if("number"==typeof e){if(!(!this[s.Qy]&&e>=0&&isFinite(e)))throw new r.L2(A,e,!this[s.Qy]);u.call(this,null,e,t)}else if(e&&"object"==typeof e){if(0===h.call(this,e,t))throw new r.L2(A,e)}else if(void 0!==e)throw new r.L2(A,e)},p=function(A,e){const t=this[s.pi],i=this[s.Qy];A=void 0===A?0:o(A,t),e=void 0===e?t:o(e,t);const n=A*l,r=e*l-n;return B.obtainView(i.buffer,i.byteOffset+n,r)},b=this.createConstructor(A);return e.$={get:a.V_,set:m},e.length={get:g},n&i.tv.IsTypedArray&&(e.typedArray=this.defineTypedArray(A),n&i.tv.IsString&&(e.string=this.defineString(A)),n&i.tv.IsClampedArray&&(e.clampedArray=this.defineClampedArray(A))),e.entries=e[s.lf]=this.defineArrayEntries(),e.subarray={value(A,e){const t=p.call(this,A,e);return b(t)}},e.slice={value(A,e,i={}){const{zig:n=!1}=i,r=p.call(this,A,e),a=B.allocateMemory(r.byteLength,t,n),g=b(a);return g[s.sF]({[s.Qy]:r}),g}},e[Symbol.iterator]=this.defineArrayIterator(),e[s.IW]=(0,a.vQ)(u),e[s.sF]=this.defineCopier(I,!0),e[s.Zv]=(0,a.vQ)(m),e[s.vm]=this.defineFinalizerArray(f),e[s.tZ]=n&i.yi.HasObject&&this.defineVivificatorArray(A),e[s.g9]=n&i.yi.HasPointer&&this.defineVisitorArray(),b},finalizeSlice(A,e){const{flags:t,instance:{members:[n]}}=A;e.child=(0,a.vQ)(n.structure.constructor),e[s.fd]=t&i.tv.HasSentinel&&this.defineSentinel(A)}})},8991:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540);(0,n.co)({defineVivificatorStruct(A){const{instance:{members:e}}=A,t={};for(const A of e.filter((A=>A.type===i.Z9.Object)))t[A.slot]=A;const n=this;return{value(A){const e=t[A],{bitOffset:i,byteSize:a,structure:{constructor:g}}=e;this[s.zN]?.();const o=this[s.Qy],I=o.byteOffset+(i>>3);let c=a;if(void 0===c){if(7&i)throw new r.Vp(e);c=e.bitSize>>3}const Q=n.obtainView(o.buffer,I,c);return this[s._f][A]=g.call(s.f7,Q)}}}})},8771:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({defineStruct(A,e){const{flags:t,length:n,instance:{members:g}}=A,o=g.find((A=>A.flags&i.pK.IsBackingInt)),I=o&&this.defineMember(o),c=this.createApplier(A),Q=function(e,n){if((0,a.pU)(e,l))this[s.sF](e),t&i.yi.HasPointer&&this[s.g9]("copy",0,e);else if(e&&"object"==typeof e)c.call(this,e,n);else if("number"!=typeof e&&"bigint"!=typeof e||!I){if(void 0!==e)throw new r.is(A,"object",e)}else I.set.call(this,e)},l=this.createConstructor(A),C=e[s.Bl].value,B=e[s.Rk].value,u=[];for(const A of g.filter((A=>!!A.name))){const{name:t,flags:n}=A,{set:r}=e[t]=this.defineMember(A);r&&(n&i.pK.IsRequired&&(r.required=!0),C[t]=r,B.push(t)),u.push(t)}return e.$={get:a.Ng,set:Q},e.length=(0,a.vQ)(n),e.entries=t&i.sU.IsTuple&&this.defineVectorEntries(),e[Symbol.toPrimitive]=I&&{value(A){return"string"===A?Object.prototype.toString.call(this):I.get.call(this)}},e[Symbol.iterator]=t&i.sU.IsIterator?this.defineZigIterator():t&i.sU.IsTuple?this.defineVectorIterator():this.defineStructIterator(),e[s.Zv]=(0,a.vQ)(Q),e[s.tZ]=t&i.yi.HasObject&&this.defineVivificatorStruct(A),e[s.g9]=t&i.yi.HasPointer&&this.defineVisitorStruct(g),e[s.lf]=t&i.sU.IsTuple?this.defineVectorEntries():this.defineStructEntries(),e[s.n5]=(0,a.vQ)(u),t&i.sU.IsAllocator&&(e.alloc=this.defineAlloc(),e.free=this.defineFree(),e.dupe=this.defineDupe()),l}})},4540:(A,e,t)=>{t.d(e,{BD:()=>b,Bl:()=>J,C7:()=>u,Dk:()=>C,Dr:()=>o,E2:()=>m,Ec:()=>x,Gz:()=>q,IW:()=>j,J2:()=>K,KK:()=>G,M0:()=>M,Qn:()=>y,Qt:()=>k,Qy:()=>s,Rk:()=>p,SK:()=>z,Ut:()=>V,Wg:()=>Q,ZE:()=>c,Zv:()=>X,_d:()=>O,_f:()=>a,c6:()=>w,du:()=>N,eR:()=>R,f$:()=>W,f7:()=>g,fM:()=>Y,fV:()=>v,fd:()=>E,g9:()=>T,iw:()=>F,lf:()=>h,mL:()=>AA,n5:()=>B,o_:()=>I,pM:()=>L,pi:()=>d,q6:()=>_,rG:()=>D,sF:()=>Z,sO:()=>f,tZ:()=>H,tp:()=>l,uL:()=>S,uT:()=>U,vm:()=>$,wg:()=>tA,zN:()=>P,zg:()=>eA});const i=globalThis[Symbol.for("ZIGAR")]||={};function n(A){return i[A]||=Symbol(A)}function r(A){return n(A)}const s=r("memory"),a=r("slots"),g=r("parent"),o=r("zig"),I=r("name"),c=r("type"),Q=r("flags"),l=r("class"),C=r("tag"),B=r("props"),u=r("pointer"),E=r("sentinel"),f=r("array"),y=(r("items"),r("target")),h=r("entries"),m=r("max length"),p=r("keys"),b=r("address"),d=r("length"),w=r("last address"),S=r("last length"),D=r("proxy"),v=r("cache"),z=r("size"),k=r("bit size"),x=r("align"),G=r("const target"),M=r("environment"),F=r("attributes"),U=r("primitive"),J=(r("getters"),r("setters")),L=r("typed array"),N=r("throwing"),R=r("promise"),O=r("generator"),q=r("allocator"),K=(r("fallback"),r("signature")),Y=r("string retval"),_=r("update"),P=r("restore"),V=r("reset"),H=r("vivificate"),T=r("visit"),Z=r("copy"),j=r("shape"),X=r("initialize"),W=r("restrict"),$=r("finalize"),AA=r("cast"),eA=r("return"),tA=r("yield")},8e3:(A,e,t)=>{t.d(e,{$k:()=>y,Au:()=>d,BF:()=>o,FU:()=>w,Fy:()=>h,Ie:()=>M,L9:()=>g,NV:()=>z,Ng:()=>k,UF:()=>F,V_:()=>x,WG:()=>Q,Y$:()=>m,ZG:()=>u,be:()=>S,cv:()=>b,dI:()=>G,g7:()=>I,hA:()=>p,hJ:()=>f,n8:()=>r,ny:()=>s,on:()=>E,pU:()=>v,vQ:()=>a,wx:()=>c,xN:()=>D,y4:()=>l});var i=t(1388),n=t(4540);function r(A,e,t){if(t){const{set:i,get:n,value:r,enumerable:s,configurable:a=!0,writable:g=!0}=t;Object.defineProperty(A,e,n||i?{get:n,set:i,configurable:a,enumerable:s}:{value:r,configurable:a,enumerable:s,writable:g})}return A}function s(A,e){for(const[t,i]of Object.entries(e))r(A,t,i);for(const t of Object.getOwnPropertySymbols(e))r(A,t,e[t]);return A}function a(A){return void 0!==A?{value:A}:void 0}function g(A){return"return"===A?.error?A=>{try{return A()}catch(A){return A}}:A=>A()}function o({type:A,bitSize:e}){switch(A){case i.Z9.Bool:return"boolean";case i.Z9.Int:case i.Z9.Uint:if(e>32)return"bigint";case i.Z9.Float:return"number"}}function I(A,e="utf-8"){const t=C[e]||=new TextDecoder(e);let i;if(Array.isArray(A))if(1===A.length)i=A[0];else{let e=0;for(const t of A)e+=t.length;const{constructor:t}=A[0];i=new t(e);let n=0;for(const e of A)i.set(e,n),n+=e.length}else i=A;return"SharedArrayBuffer"===i.buffer[Symbol.toStringTag]&&(i=new i.constructor(i)),t.decode(i)}function c(A,e="utf-8"){if("utf-16"===e){const{length:e}=A,t=new Uint16Array(e);for(let i=0;i<e;i++)t[i]=A.charCodeAt(i);return t}return(B[e]||=new TextEncoder).encode(A)}function Q(A){const e=new Uint8Array(A.buffer,A.byteOffset,A.byteLength),t=String.fromCharCode.apply(null,e);return btoa(t)}function l(A){const e=atob(A),t=new Uint8Array(e.length);for(let A=0;A<t.byteLength;A++)t[A]=e.charCodeAt(A);return new DataView(t.buffer)}const C={},B={};function u(A,e,t){let i=0,n=A.length;if(0===n)return 0;for(;i<n;){const r=Math.floor((i+n)/2);t(A[r])<=e?i=r+1:n=r}return n}const E=function(A,e){return!!e&&!!(A&e-1)},f=function(A,e){return A+(e-1)&~(e-1)},y=0,h=4294967295,m=-1,p=function(A){return Number(A)},b=function(A){return 2863311530===A||-1431655766===A},d=function(A,e){return A+e};function w(A){if("number"==typeof A.length)return A;const e=A[Symbol.iterator](),t=e.next(),i=t.value?.length;if("number"==typeof i&&"length"===Object.keys(t.value).join())return Object.assign(function*(){let A;for(;!(A=e.next()).done;)yield A.value}(),{length:i});{const A=[];let i=t;for(;!i.done;)A.push(i.value),i=e.next();return A}}function S(A,e){const{constructor:t}=A;return t===e?1:t.child===e?A.length:void 0}function D(A,e){return A===e||A?.[n.J2]===e[n.J2]&&A?.[n.M0]!==e?.[n.M0]}function v(A,e){return A instanceof e||D(A?.constructor,e)}function z({get:A,set:e}){return A.special=e.special=!0,{get:A,set:e}}function k(){return this}function x(){return this[n.rG]}function G(){return String(this)}function M(){}class F{map=new WeakMap;find(A){return this.map.get(A)}save(A,e){return this.map.set(A,e),e}}},8502:(A,e,t)=>{t.d(e,{k:()=>a});var i=t(1388),n=t(6560),r=t(4762),s=t(4540);function a(A,e,t,n){let r,a=this[s._f][A];if(!a){if(t&i.F7.IgnoreUncreated)return;a=this[s.tZ](A)}n&&(r=n[s._f][A],!r)||a[s.g9](e,t,r)}(0,n.co)({defineVisitor:()=>({value(A,e,t){let i;i="string"==typeof A?g[A]:A,i.call(this,e,t)}})});const g={copy(A,e){const t=e[s._f][0];if(this[s.Qy][s.Dr]&&t&&!t[s.Qy][s.Dr])throw new r.x1;this[s._f][0]=t},clear(A){A&i.F7.IsInactive&&(this[s._f][0]=void 0)},reset(){this[s._f][0]=void 0,this[s.c6]=void 0}}},9025:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(8502);(0,n.co)({defineVisitorArgStruct(A){const e=[];let t;for(const[n,{slot:r,structure:s}]of A.entries())s.flags&i.yi.HasPointer&&(0===n?t=r:e.push(r));return{value(A,n,s){if(!(n&i.F7.IgnoreArguments)&&e.length>0)for(const t of e)r.k.call(this,t,A,n|i.F7.IsImmutable,s);n&i.F7.IgnoreRetval||void 0===t||r.k.call(this,t,A,n,s)}}}})},9426:(A,e,t)=>{var i=t(6560),n=t(8502);(0,i.co)({defineVisitorArray:()=>({value(A,e,t){for(let i=0,r=this.length;i<r;i++)n.k.call(this,i,A,e,t)}})})},1991:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(8502);(0,n.co)({defineVisitorOptional(A,e){const{slot:t}=A;return{value(A,n,s){e.call(this)||(n|=i.F7.IsInactive),n&i.F7.IsInactive&&n&i.F7.IgnoreInactive||r.k.call(this,t,A,n,s)}}}})},5558:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(8502);(0,n.co)({defineVisitorStruct(A){const e=A.filter((A=>A.structure?.flags&i.yi.HasPointer)).map((A=>A.slot));return{value(A,t,i){for(const n of e)r.k.call(this,n,A,t,i)}}}})},1369:A=>{A.exports=JSON.parse('{"Wn":[{"id":57345,"index":1,"char":"","width":24,"height":21,"xoffset":-2,"yoffset":4,"xadvance":20,"chnl":15,"x":0,"y":0,"page":0},{"id":57346,"index":2,"char":"","width":23,"height":24,"xoffset":-1,"yoffset":2,"xadvance":20,"chnl":15,"x":25,"y":0,"page":0}]}')}},r={};function s(A){var e=r[A];if(void 0!==e)return e.exports;var t=r[A]={exports:{}};return n[A](t,t.exports,s),t.exports}A="function"==typeof Symbol?Symbol("webpack queues"):"__webpack_queues__",e="function"==typeof Symbol?Symbol("webpack exports"):"__webpack_exports__",t="function"==typeof Symbol?Symbol("webpack error"):"__webpack_error__",i=A=>{A&&A.d<1&&(A.d=1,A.forEach((A=>A.r--)),A.forEach((A=>A.r--?A.r++:A())))},s.a=(n,r,s)=>{var a;s&&((a=[]).d=-1);var g,o,I,c=new Set,Q=n.exports,l=new Promise(((A,e)=>{I=e,o=A}));l[e]=Q,l[A]=A=>(a&&A(a),c.forEach(A),l.catch((A=>{}))),n.exports=l,r((n=>{var r;g=(n=>n.map((n=>{if(null!==n&&"object"==typeof n){if(n[A])return n;if(n.then){var r=[];r.d=0,n.then((A=>{s[e]=A,i(r)}),(A=>{s[t]=A,i(r)}));var s={};return s[A]=A=>A(r),s}}var a={};return a[A]=A=>{},a[e]=n,a})))(n);var s=()=>g.map((A=>{if(A[t])throw A[t];return A[e]})),o=new Promise((e=>{(r=()=>e(s)).r=0;var t=A=>A!==a&&!c.has(A)&&(c.add(A),A&&!A.d&&(r.r++,A.push(r)));g.map((e=>e[A](t)))}));return r.r?o:s()}),(A=>(A?I(l[t]=A):o(Q),i(a)))),a&&a.d<0&&(a.d=0)},s.d=(A,e)=>{for(var t in e)s.o(e,t)&&!s.o(A,t)&&Object.defineProperty(A,t,{enumerable:!0,get:e[t]})},s.o=(A,e)=>Object.prototype.hasOwnProperty.call(A,e),(()=>{var A;if("string"==typeof import.meta.url&&(A=import.meta.url),!A)throw new Error("Automatic publicPath is not supported in this browser");A=A.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),s.p=A})();var a=s(8156),g=(a=await a).b,o=a.A;export{g as CreatorTool,o as default};
1
+ /*! For license information please see index.mjs.LICENSE.txt */
2
+ var A,e,t,i,n={945:(A,e,t)=>{var i,n;function r(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function s(A,e){this.source=A,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=e,this.destLen=0,this.ltree=new r,this.dtree=new r}t.d(e,{Ay:()=>Ki}),String.prototype.codePointAt||(n=function(A){if(null==this)throw TypeError();var e=String(this),t=e.length,i=A?Number(A):0;if(i!=i&&(i=0),!(i<0||i>=t)){var n,r=e.charCodeAt(i);return r>=55296&&r<=56319&&t>i+1&&(n=e.charCodeAt(i+1))>=56320&&n<=57343?1024*(r-55296)+n-56320+65536:r}},(i=function(){try{var A={},e=Object.defineProperty,t=e(A,A,A)&&e}catch(A){}return t}())?i(String.prototype,"codePointAt",{value:n,configurable:!0,writable:!0}):String.prototype.codePointAt=n);var a=new r,o=new r,g=new Uint8Array(30),I=new Uint16Array(30),C=new Uint8Array(30),Q=new Uint16Array(30),c=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),B=new r,l=new Uint8Array(320);function u(A,e,t,i){var n,r;for(n=0;n<t;++n)A[n]=0;for(n=0;n<30-t;++n)A[n+t]=n/t|0;for(r=i,n=0;n<30;++n)e[n]=r,r+=1<<A[n]}var E=new Uint16Array(16);function f(A,e,t,i){var n,r;for(n=0;n<16;++n)A.table[n]=0;for(n=0;n<i;++n)A.table[e[t+n]]++;for(A.table[0]=0,r=0,n=0;n<16;++n)E[n]=r,r+=A.table[n];for(n=0;n<i;++n)e[t+n]&&(A.trans[E[e[t+n]]++]=n)}function h(A){A.bitcount--||(A.tag=A.source[A.sourceIndex++],A.bitcount=7);var e=1&A.tag;return A.tag>>>=1,e}function p(A,e,t){if(!e)return t;for(;A.bitcount<24;)A.tag|=A.source[A.sourceIndex++]<<A.bitcount,A.bitcount+=8;var i=A.tag&65535>>>16-e;return A.tag>>>=e,A.bitcount-=e,i+t}function y(A,e){for(;A.bitcount<24;)A.tag|=A.source[A.sourceIndex++]<<A.bitcount,A.bitcount+=8;var t=0,i=0,n=0,r=A.tag;do{i=2*i+(1&r),r>>>=1,++n,t+=e.table[n],i-=e.table[n]}while(i>=0);return A.tag=r,A.bitcount-=n,e.trans[t+i]}function d(A,e,t){var i,n,r,s,a,o;for(i=p(A,5,257),n=p(A,5,1),r=p(A,4,4),s=0;s<19;++s)l[s]=0;for(s=0;s<r;++s){var g=p(A,3,0);l[c[s]]=g}for(f(B,l,0,19),a=0;a<i+n;){var I=y(A,B);switch(I){case 16:var C=l[a-1];for(o=p(A,2,3);o;--o)l[a++]=C;break;case 17:for(o=p(A,3,3);o;--o)l[a++]=0;break;case 18:for(o=p(A,7,11);o;--o)l[a++]=0;break;default:l[a++]=I}}f(e,l,0,i),f(t,l,i,n)}function m(A,e,t){for(;;){var i,n,r,s,a=y(A,e);if(256===a)return 0;if(a<256)A.dest[A.destLen++]=a;else for(i=p(A,g[a-=257],I[a]),n=y(A,t),s=r=A.destLen-p(A,C[n],Q[n]);s<r+i;++s)A.dest[A.destLen++]=A.dest[s]}}function b(A){for(var e,t;A.bitcount>8;)A.sourceIndex--,A.bitcount-=8;if((e=256*(e=A.source[A.sourceIndex+1])+A.source[A.sourceIndex])!==(65535&~(256*A.source[A.sourceIndex+3]+A.source[A.sourceIndex+2])))return-3;for(A.sourceIndex+=4,t=e;t;--t)A.dest[A.destLen++]=A.source[A.sourceIndex++];return A.bitcount=0,0}!function(A,e){var t;for(t=0;t<7;++t)A.table[t]=0;for(A.table[7]=24,A.table[8]=152,A.table[9]=112,t=0;t<24;++t)A.trans[t]=256+t;for(t=0;t<144;++t)A.trans[24+t]=t;for(t=0;t<8;++t)A.trans[168+t]=280+t;for(t=0;t<112;++t)A.trans[176+t]=144+t;for(t=0;t<5;++t)e.table[t]=0;for(e.table[5]=32,t=0;t<32;++t)e.trans[t]=t}(a,o),u(g,I,4,3),u(C,Q,2,1),g[28]=0,I[28]=258;function D(A,e,t,i,n){return Math.pow(1-n,3)*A+3*Math.pow(1-n,2)*n*e+3*(1-n)*Math.pow(n,2)*t+Math.pow(n,3)*i}function S(){this.x1=Number.NaN,this.y1=Number.NaN,this.x2=Number.NaN,this.y2=Number.NaN}function w(){this.commands=[],this.fill="black",this.stroke=null,this.strokeWidth=1}function v(A){throw new Error(A)}function k(A,e){A||v(e)}S.prototype.isEmpty=function(){return isNaN(this.x1)||isNaN(this.y1)||isNaN(this.x2)||isNaN(this.y2)},S.prototype.addPoint=function(A,e){"number"==typeof A&&((isNaN(this.x1)||isNaN(this.x2))&&(this.x1=A,this.x2=A),A<this.x1&&(this.x1=A),A>this.x2&&(this.x2=A)),"number"==typeof e&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=e,this.y2=e),e<this.y1&&(this.y1=e),e>this.y2&&(this.y2=e))},S.prototype.addX=function(A){this.addPoint(A,null)},S.prototype.addY=function(A){this.addPoint(null,A)},S.prototype.addBezier=function(A,e,t,i,n,r,s,a){var o=[A,e],g=[t,i],I=[n,r],C=[s,a];this.addPoint(A,e),this.addPoint(s,a);for(var Q=0;Q<=1;Q++){var c=6*o[Q]-12*g[Q]+6*I[Q],B=-3*o[Q]+9*g[Q]-9*I[Q]+3*C[Q],l=3*g[Q]-3*o[Q];if(0!==B){var u=Math.pow(c,2)-4*l*B;if(!(u<0)){var E=(-c+Math.sqrt(u))/(2*B);0<E&&E<1&&(0===Q&&this.addX(D(o[Q],g[Q],I[Q],C[Q],E)),1===Q&&this.addY(D(o[Q],g[Q],I[Q],C[Q],E)));var f=(-c-Math.sqrt(u))/(2*B);0<f&&f<1&&(0===Q&&this.addX(D(o[Q],g[Q],I[Q],C[Q],f)),1===Q&&this.addY(D(o[Q],g[Q],I[Q],C[Q],f)))}}else{if(0===c)continue;var h=-l/c;0<h&&h<1&&(0===Q&&this.addX(D(o[Q],g[Q],I[Q],C[Q],h)),1===Q&&this.addY(D(o[Q],g[Q],I[Q],C[Q],h)))}}},S.prototype.addQuad=function(A,e,t,i,n,r){var s=A+2/3*(t-A),a=e+2/3*(i-e),o=s+1/3*(n-A),g=a+1/3*(r-e);this.addBezier(A,e,s,a,o,g,n,r)},w.prototype.moveTo=function(A,e){this.commands.push({type:"M",x:A,y:e})},w.prototype.lineTo=function(A,e){this.commands.push({type:"L",x:A,y:e})},w.prototype.curveTo=w.prototype.bezierCurveTo=function(A,e,t,i,n,r){this.commands.push({type:"C",x1:A,y1:e,x2:t,y2:i,x:n,y:r})},w.prototype.quadTo=w.prototype.quadraticCurveTo=function(A,e,t,i){this.commands.push({type:"Q",x1:A,y1:e,x:t,y:i})},w.prototype.close=w.prototype.closePath=function(){this.commands.push({type:"Z"})},w.prototype.extend=function(A){if(A.commands)A=A.commands;else if(A instanceof S){var e=A;return this.moveTo(e.x1,e.y1),this.lineTo(e.x2,e.y1),this.lineTo(e.x2,e.y2),this.lineTo(e.x1,e.y2),void this.close()}Array.prototype.push.apply(this.commands,A)},w.prototype.getBoundingBox=function(){for(var A=new S,e=0,t=0,i=0,n=0,r=0;r<this.commands.length;r++){var s=this.commands[r];switch(s.type){case"M":A.addPoint(s.x,s.y),e=i=s.x,t=n=s.y;break;case"L":A.addPoint(s.x,s.y),i=s.x,n=s.y;break;case"Q":A.addQuad(i,n,s.x1,s.y1,s.x,s.y),i=s.x,n=s.y;break;case"C":A.addBezier(i,n,s.x1,s.y1,s.x2,s.y2,s.x,s.y),i=s.x,n=s.y;break;case"Z":i=e,n=t;break;default:throw new Error("Unexpected path command "+s.type)}}return A.isEmpty()&&A.addPoint(0,0),A},w.prototype.draw=function(A){A.beginPath();for(var e=0;e<this.commands.length;e+=1){var t=this.commands[e];"M"===t.type?A.moveTo(t.x,t.y):"L"===t.type?A.lineTo(t.x,t.y):"C"===t.type?A.bezierCurveTo(t.x1,t.y1,t.x2,t.y2,t.x,t.y):"Q"===t.type?A.quadraticCurveTo(t.x1,t.y1,t.x,t.y):"Z"===t.type&&A.closePath()}this.fill&&(A.fillStyle=this.fill,A.fill()),this.stroke&&(A.strokeStyle=this.stroke,A.lineWidth=this.strokeWidth,A.stroke())},w.prototype.toPathData=function(A){function e(e){return Math.round(e)===e?""+Math.round(e):e.toFixed(A)}function t(){for(var A=arguments,t="",i=0;i<arguments.length;i+=1){var n=A[i];n>=0&&i>0&&(t+=" "),t+=e(n)}return t}A=void 0!==A?A:2;for(var i="",n=0;n<this.commands.length;n+=1){var r=this.commands[n];"M"===r.type?i+="M"+t(r.x,r.y):"L"===r.type?i+="L"+t(r.x,r.y):"C"===r.type?i+="C"+t(r.x1,r.y1,r.x2,r.y2,r.x,r.y):"Q"===r.type?i+="Q"+t(r.x1,r.y1,r.x,r.y):"Z"===r.type&&(i+="Z")}return i},w.prototype.toSVG=function(A){var e='<path d="';return e+=this.toPathData(A),e+='"',this.fill&&"black"!==this.fill&&(null===this.fill?e+=' fill="none"':e+=' fill="'+this.fill+'"'),this.stroke&&(e+=' stroke="'+this.stroke+'" stroke-width="'+this.strokeWidth+'"'),e+"/>"},w.prototype.toDOMElement=function(A){var e=this.toPathData(A),t=document.createElementNS("http://www.w3.org/2000/svg","path");return t.setAttribute("d",e),t};var x={fail:v,argument:k,assert:k},G=2147483648,N={},U={},F={};function M(A){return function(){return A}}U.BYTE=function(A){return x.argument(A>=0&&A<=255,"Byte value should be between 0 and 255."),[A]},F.BYTE=M(1),U.CHAR=function(A){return[A.charCodeAt(0)]},F.CHAR=M(1),U.CHARARRAY=function(A){void 0===A&&(A="",console.warn("Undefined CHARARRAY encountered and treated as an empty string. This is probably caused by a missing glyph name."));for(var e=[],t=0;t<A.length;t+=1)e[t]=A.charCodeAt(t);return e},F.CHARARRAY=function(A){return void 0===A?0:A.length},U.USHORT=function(A){return[A>>8&255,255&A]},F.USHORT=M(2),U.SHORT=function(A){return A>=32768&&(A=-(65536-A)),[A>>8&255,255&A]},F.SHORT=M(2),U.UINT24=function(A){return[A>>16&255,A>>8&255,255&A]},F.UINT24=M(3),U.ULONG=function(A){return[A>>24&255,A>>16&255,A>>8&255,255&A]},F.ULONG=M(4),U.LONG=function(A){return A>=G&&(A=-(2*G-A)),[A>>24&255,A>>16&255,A>>8&255,255&A]},F.LONG=M(4),U.FIXED=U.ULONG,F.FIXED=F.ULONG,U.FWORD=U.SHORT,F.FWORD=F.SHORT,U.UFWORD=U.USHORT,F.UFWORD=F.USHORT,U.LONGDATETIME=function(A){return[0,0,0,0,A>>24&255,A>>16&255,A>>8&255,255&A]},F.LONGDATETIME=M(8),U.TAG=function(A){return x.argument(4===A.length,"Tag should be exactly 4 ASCII characters."),[A.charCodeAt(0),A.charCodeAt(1),A.charCodeAt(2),A.charCodeAt(3)]},F.TAG=M(4),U.Card8=U.BYTE,F.Card8=F.BYTE,U.Card16=U.USHORT,F.Card16=F.USHORT,U.OffSize=U.BYTE,F.OffSize=F.BYTE,U.SID=U.USHORT,F.SID=F.USHORT,U.NUMBER=function(A){return A>=-107&&A<=107?[A+139]:A>=108&&A<=1131?[247+((A-=108)>>8),255&A]:A>=-1131&&A<=-108?[251+((A=-A-108)>>8),255&A]:A>=-32768&&A<=32767?U.NUMBER16(A):U.NUMBER32(A)},F.NUMBER=function(A){return U.NUMBER(A).length},U.NUMBER16=function(A){return[28,A>>8&255,255&A]},F.NUMBER16=M(3),U.NUMBER32=function(A){return[29,A>>24&255,A>>16&255,A>>8&255,255&A]},F.NUMBER32=M(5),U.REAL=function(A){var e=A.toString(),t=/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(e);if(t){var i=parseFloat("1e"+((t[2]?+t[2]:0)+t[1].length));e=(Math.round(A*i)/i).toString()}for(var n="",r=0,s=e.length;r<s;r+=1){var a=e[r];n+="e"===a?"-"===e[++r]?"c":"b":"."===a?"a":"-"===a?"e":a}for(var o=[30],g=0,I=(n+=1&n.length?"f":"ff").length;g<I;g+=2)o.push(parseInt(n.substr(g,2),16));return o},F.REAL=function(A){return U.REAL(A).length},U.NAME=U.CHARARRAY,F.NAME=F.CHARARRAY,U.STRING=U.CHARARRAY,F.STRING=F.CHARARRAY,N.UTF8=function(A,e,t){for(var i=[],n=t,r=0;r<n;r++,e+=1)i[r]=A.getUint8(e);return String.fromCharCode.apply(null,i)},N.UTF16=function(A,e,t){for(var i=[],n=t/2,r=0;r<n;r++,e+=2)i[r]=A.getUint16(e);return String.fromCharCode.apply(null,i)},U.UTF16=function(A){for(var e=[],t=0;t<A.length;t+=1){var i=A.charCodeAt(t);e[e.length]=i>>8&255,e[e.length]=255&i}return e},F.UTF16=function(A){return 2*A.length};var R={"x-mac-croatian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈ƫȅ ÀÃÕŒœĐ—“”‘’÷◊©⁄€‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ","x-mac-cyrillic":"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю","x-mac-gaelic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØḂ±≤≥ḃĊċḊḋḞḟĠġṀæøṁṖṗɼƒſṠ«»… ÀÃÕŒœ–—“”‘’ṡẛÿŸṪ€‹›Ŷŷṫ·Ỳỳ⁊ÂÊÁËÈÍÎÏÌÓÔ♣ÒÚÛÙıÝýŴŵẄẅẀẁẂẃ","x-mac-greek":"Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦€ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ­","x-mac-icelandic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüݰ¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-inuit":"ᐃᐄᐅᐆᐊᐋᐱᐲᐳᐴᐸᐹᑉᑎᑏᑐᑑᑕᑖᑦᑭᑮᑯᑰᑲᑳᒃᒋᒌᒍᒎᒐᒑ°ᒡᒥᒦ•¶ᒧ®©™ᒨᒪᒫᒻᓂᓃᓄᓅᓇᓈᓐᓯᓰᓱᓲᓴᓵᔅᓕᓖᓗᓘᓚᓛᓪᔨᔩᔪᔫᔭ… ᔮᔾᕕᕖᕗ–—“”‘’ᕘᕙᕚᕝᕆᕇᕈᕉᕋᕌᕐᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᙱᙲᙳᙴᙵᙶᖖᖠᖡᖢᖣᖤᖥᖦᕼŁł","x-mac-ce":"ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ",macintosh:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-romanian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂȘ∞±≤≥¥µ∂∑∏π∫ªºΩăș¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›Țț‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-turkish":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙˆ˜¯˘˙˚¸˝˛ˇ"};N.MACSTRING=function(A,e,t,i){var n=R[i];if(void 0!==n){for(var r="",s=0;s<t;s++){var a=A.getUint8(e+s);r+=a<=127?String.fromCharCode(a):n[127&a]}return r}};var L,z="function"==typeof WeakMap&&new WeakMap;function J(A){return A>=-128&&A<=127}function q(A,e,t){for(var i=0,n=A.length;e<n&&i<64&&0===A[e];)++e,++i;return t.push(128|i-1),e}function O(A,e,t){for(var i=0,n=A.length,r=e;r<n&&i<64;){var s=A[r];if(!J(s))break;if(0===s&&r+1<n&&0===A[r+1])break;++r,++i}t.push(i-1);for(var a=e;a<r;++a)t.push(A[a]+256&255);return r}function K(A,e,t){for(var i=0,n=A.length,r=e;r<n&&i<64;){var s=A[r];if(0===s)break;if(J(s)&&r+1<n&&J(A[r+1]))break;++r,++i}t.push(64|i-1);for(var a=e;a<r;++a){var o=A[a];t.push(o+65536>>8&255,o+256&255)}return r}U.MACSTRING=function(A,e){var t=function(A){if(!L)for(var e in L={},R)L[e]=new String(e);var t=L[A];if(void 0!==t){if(z){var i=z.get(t);if(void 0!==i)return i}var n=R[A];if(void 0!==n){for(var r={},s=0;s<n.length;s++)r[n.charCodeAt(s)]=s+128;return z&&z.set(t,r),r}}}(e);if(void 0!==t){for(var i=[],n=0;n<A.length;n++){var r=A.charCodeAt(n);if(r>=128&&void 0===(r=t[r]))return;i[n]=r}return i}},F.MACSTRING=function(A,e){var t=U.MACSTRING(A,e);return void 0!==t?t.length:0},U.VARDELTAS=function(A){for(var e=0,t=[];e<A.length;){var i=A[e];e=0===i?q(A,e,t):i>=-128&&i<=127?O(A,e,t):K(A,e,t)}return t},U.INDEX=function(A){for(var e=1,t=[e],i=[],n=0;n<A.length;n+=1){var r=U.OBJECT(A[n]);Array.prototype.push.apply(i,r),e+=r.length,t.push(e)}if(0===i.length)return[0,0];for(var s=[],a=1+Math.floor(Math.log(e)/Math.log(2))/8|0,o=[void 0,U.BYTE,U.USHORT,U.UINT24,U.ULONG][a],g=0;g<t.length;g+=1){var I=o(t[g]);Array.prototype.push.apply(s,I)}return Array.prototype.concat(U.Card16(A.length),U.OffSize(a),s,i)},F.INDEX=function(A){return U.INDEX(A).length},U.DICT=function(A){for(var e=[],t=Object.keys(A),i=t.length,n=0;n<i;n+=1){var r=parseInt(t[n],0),s=A[r];e=(e=e.concat(U.OPERAND(s.value,s.type))).concat(U.OPERATOR(r))}return e},F.DICT=function(A){return U.DICT(A).length},U.OPERATOR=function(A){return A<1200?[A]:[12,A-1200]},U.OPERAND=function(A,e){var t=[];if(Array.isArray(e))for(var i=0;i<e.length;i+=1)x.argument(A.length===e.length,"Not enough arguments given for type"+e),t=t.concat(U.OPERAND(A[i],e[i]));else if("SID"===e)t=t.concat(U.NUMBER(A));else if("offset"===e)t=t.concat(U.NUMBER32(A));else if("number"===e)t=t.concat(U.NUMBER(A));else{if("real"!==e)throw new Error("Unknown operand type "+e);t=t.concat(U.REAL(A))}return t},U.OP=U.BYTE,F.OP=F.BYTE;var T="function"==typeof WeakMap&&new WeakMap;function Y(A,e,t){if(e.length&&("coverageFormat"!==e[0].name||1===e[0].value))for(var i=0;i<e.length;i+=1){var n=e[i];this[n.name]=n.value}if(this.tableName=A,this.fields=e,t)for(var r=Object.keys(t),s=0;s<r.length;s+=1){var a=r[s],o=t[a];void 0!==this[a]&&(this[a]=o)}}function H(A,e,t){void 0===t&&(t=e.length);var i=new Array(e.length+1);i[0]={name:A+"Count",type:"USHORT",value:t};for(var n=0;n<e.length;n++)i[n+1]={name:A+n,type:"USHORT",value:e[n]};return i}function P(A,e,t){var i=e.length,n=new Array(i+1);n[0]={name:A+"Count",type:"USHORT",value:i};for(var r=0;r<i;r++)n[r+1]={name:A+r,type:"TABLE",value:t(e[r],r)};return n}function _(A,e,t){var i=e.length,n=[];n[0]={name:A+"Count",type:"USHORT",value:i};for(var r=0;r<i;r++)n=n.concat(t(e[r],r));return n}function V(A){1===A.format?Y.call(this,"coverageTable",[{name:"coverageFormat",type:"USHORT",value:1}].concat(H("glyph",A.glyphs))):2===A.format?Y.call(this,"coverageTable",[{name:"coverageFormat",type:"USHORT",value:2}].concat(_("rangeRecord",A.ranges,(function(A){return[{name:"startGlyphID",type:"USHORT",value:A.start},{name:"endGlyphID",type:"USHORT",value:A.end},{name:"startCoverageIndex",type:"USHORT",value:A.index}]})))):x.assert(!1,"Coverage format must be 1 or 2.")}function W(A){Y.call(this,"scriptListTable",_("scriptRecord",A,(function(A,e){var t=A.script,i=t.defaultLangSys;return x.assert(!!i,"Unable to write GSUB: script "+A.tag+" has no default language system."),[{name:"scriptTag"+e,type:"TAG",value:A.tag},{name:"script"+e,type:"TABLE",value:new Y("scriptTable",[{name:"defaultLangSys",type:"TABLE",value:new Y("defaultLangSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:i.reqFeatureIndex}].concat(H("featureIndex",i.featureIndexes)))}].concat(_("langSys",t.langSysRecords,(function(A,e){var t=A.langSys;return[{name:"langSysTag"+e,type:"TAG",value:A.tag},{name:"langSys"+e,type:"TABLE",value:new Y("langSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:t.reqFeatureIndex}].concat(H("featureIndex",t.featureIndexes)))}]}))))}]})))}function X(A){Y.call(this,"featureListTable",_("featureRecord",A,(function(A,e){var t=A.feature;return[{name:"featureTag"+e,type:"TAG",value:A.tag},{name:"feature"+e,type:"TABLE",value:new Y("featureTable",[{name:"featureParams",type:"USHORT",value:t.featureParams}].concat(H("lookupListIndex",t.lookupListIndexes)))}]})))}function j(A,e){Y.call(this,"lookupListTable",P("lookup",A,(function(A){var t=e[A.lookupType];return x.assert(!!t,"Unable to write GSUB lookup type "+A.lookupType+" tables."),new Y("lookupTable",[{name:"lookupType",type:"USHORT",value:A.lookupType},{name:"lookupFlag",type:"USHORT",value:A.lookupFlag}].concat(P("subtable",A.subtables,t)))})))}U.CHARSTRING=function(A){if(T){var e=T.get(A);if(void 0!==e)return e}for(var t=[],i=A.length,n=0;n<i;n+=1){var r=A[n];t=t.concat(U[r.type](r.value))}return T&&T.set(A,t),t},F.CHARSTRING=function(A){return U.CHARSTRING(A).length},U.OBJECT=function(A){var e=U[A.type];return x.argument(void 0!==e,"No encoding function for type "+A.type),e(A.value)},F.OBJECT=function(A){var e=F[A.type];return x.argument(void 0!==e,"No sizeOf function for type "+A.type),e(A.value)},U.TABLE=function(A){for(var e=[],t=A.fields.length,i=[],n=[],r=0;r<t;r+=1){var s=A.fields[r],a=U[s.type];x.argument(void 0!==a,"No encoding function for field type "+s.type+" ("+s.name+")");var o=A[s.name];void 0===o&&(o=s.value);var g=a(o);"TABLE"===s.type?(n.push(e.length),e=e.concat([0,0]),i.push(g)):e=e.concat(g)}for(var I=0;I<i.length;I+=1){var C=n[I],Q=e.length;x.argument(Q<65536,"Table "+A.tableName+" too big."),e[C]=Q>>8,e[C+1]=255&Q,e=e.concat(i[I])}return e},F.TABLE=function(A){for(var e=0,t=A.fields.length,i=0;i<t;i+=1){var n=A.fields[i],r=F[n.type];x.argument(void 0!==r,"No sizeOf function for field type "+n.type+" ("+n.name+")");var s=A[n.name];void 0===s&&(s=n.value),e+=r(s),"TABLE"===n.type&&(e+=2)}return e},U.RECORD=U.TABLE,F.RECORD=F.TABLE,U.LITERAL=function(A){return A},F.LITERAL=function(A){return A.length},Y.prototype.encode=function(){return U.TABLE(this)},Y.prototype.sizeOf=function(){return F.TABLE(this)},V.prototype=Object.create(Y.prototype),V.prototype.constructor=V,W.prototype=Object.create(Y.prototype),W.prototype.constructor=W,X.prototype=Object.create(Y.prototype),X.prototype.constructor=X,j.prototype=Object.create(Y.prototype),j.prototype.constructor=j;var Z={Table:Y,Record:Y,Coverage:V,ScriptList:W,FeatureList:X,LookupList:j,ushortList:H,tableList:P,recordList:_};function $(A,e){return A.getUint8(e)}function AA(A,e){return A.getUint16(e,!1)}function eA(A,e){return A.getUint32(e,!1)}function tA(A,e){return A.getInt16(e,!1)+A.getUint16(e+2,!1)/65535}var iA={byte:1,uShort:2,short:2,uLong:4,fixed:4,longDateTime:8,tag:4};function nA(A,e){this.data=A,this.offset=e,this.relativeOffset=0}nA.prototype.parseByte=function(){var A=this.data.getUint8(this.offset+this.relativeOffset);return this.relativeOffset+=1,A},nA.prototype.parseChar=function(){var A=this.data.getInt8(this.offset+this.relativeOffset);return this.relativeOffset+=1,A},nA.prototype.parseCard8=nA.prototype.parseByte,nA.prototype.parseUShort=function(){var A=this.data.getUint16(this.offset+this.relativeOffset);return this.relativeOffset+=2,A},nA.prototype.parseCard16=nA.prototype.parseUShort,nA.prototype.parseSID=nA.prototype.parseUShort,nA.prototype.parseOffset16=nA.prototype.parseUShort,nA.prototype.parseShort=function(){var A=this.data.getInt16(this.offset+this.relativeOffset);return this.relativeOffset+=2,A},nA.prototype.parseF2Dot14=function(){var A=this.data.getInt16(this.offset+this.relativeOffset)/16384;return this.relativeOffset+=2,A},nA.prototype.parseULong=function(){var A=eA(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,A},nA.prototype.parseOffset32=nA.prototype.parseULong,nA.prototype.parseFixed=function(){var A=tA(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,A},nA.prototype.parseString=function(A){var e=this.data,t=this.offset+this.relativeOffset,i="";this.relativeOffset+=A;for(var n=0;n<A;n++)i+=String.fromCharCode(e.getUint8(t+n));return i},nA.prototype.parseTag=function(){return this.parseString(4)},nA.prototype.parseLongDateTime=function(){var A=eA(this.data,this.offset+this.relativeOffset+4);return A-=2082844800,this.relativeOffset+=8,A},nA.prototype.parseVersion=function(A){var e=AA(this.data,this.offset+this.relativeOffset),t=AA(this.data,this.offset+this.relativeOffset+2);return this.relativeOffset+=4,void 0===A&&(A=4096),e+t/A/10},nA.prototype.skip=function(A,e){void 0===e&&(e=1),this.relativeOffset+=iA[A]*e},nA.prototype.parseULongList=function(A){void 0===A&&(A=this.parseULong());for(var e=new Array(A),t=this.data,i=this.offset+this.relativeOffset,n=0;n<A;n++)e[n]=t.getUint32(i),i+=4;return this.relativeOffset+=4*A,e},nA.prototype.parseOffset16List=nA.prototype.parseUShortList=function(A){void 0===A&&(A=this.parseUShort());for(var e=new Array(A),t=this.data,i=this.offset+this.relativeOffset,n=0;n<A;n++)e[n]=t.getUint16(i),i+=2;return this.relativeOffset+=2*A,e},nA.prototype.parseShortList=function(A){for(var e=new Array(A),t=this.data,i=this.offset+this.relativeOffset,n=0;n<A;n++)e[n]=t.getInt16(i),i+=2;return this.relativeOffset+=2*A,e},nA.prototype.parseByteList=function(A){for(var e=new Array(A),t=this.data,i=this.offset+this.relativeOffset,n=0;n<A;n++)e[n]=t.getUint8(i++);return this.relativeOffset+=A,e},nA.prototype.parseList=function(A,e){e||(e=A,A=this.parseUShort());for(var t=new Array(A),i=0;i<A;i++)t[i]=e.call(this);return t},nA.prototype.parseList32=function(A,e){e||(e=A,A=this.parseULong());for(var t=new Array(A),i=0;i<A;i++)t[i]=e.call(this);return t},nA.prototype.parseRecordList=function(A,e){e||(e=A,A=this.parseUShort());for(var t=new Array(A),i=Object.keys(e),n=0;n<A;n++){for(var r={},s=0;s<i.length;s++){var a=i[s],o=e[a];r[a]=o.call(this)}t[n]=r}return t},nA.prototype.parseRecordList32=function(A,e){e||(e=A,A=this.parseULong());for(var t=new Array(A),i=Object.keys(e),n=0;n<A;n++){for(var r={},s=0;s<i.length;s++){var a=i[s],o=e[a];r[a]=o.call(this)}t[n]=r}return t},nA.prototype.parseStruct=function(A){if("function"==typeof A)return A.call(this);for(var e=Object.keys(A),t={},i=0;i<e.length;i++){var n=e[i],r=A[n];t[n]=r.call(this)}return t},nA.prototype.parseValueRecord=function(A){if(void 0===A&&(A=this.parseUShort()),0!==A){var e={};return 1&A&&(e.xPlacement=this.parseShort()),2&A&&(e.yPlacement=this.parseShort()),4&A&&(e.xAdvance=this.parseShort()),8&A&&(e.yAdvance=this.parseShort()),16&A&&(e.xPlaDevice=void 0,this.parseShort()),32&A&&(e.yPlaDevice=void 0,this.parseShort()),64&A&&(e.xAdvDevice=void 0,this.parseShort()),128&A&&(e.yAdvDevice=void 0,this.parseShort()),e}},nA.prototype.parseValueRecordList=function(){for(var A=this.parseUShort(),e=this.parseUShort(),t=new Array(e),i=0;i<e;i++)t[i]=this.parseValueRecord(A);return t},nA.prototype.parsePointer=function(A){var e=this.parseOffset16();if(e>0)return new nA(this.data,this.offset+e).parseStruct(A)},nA.prototype.parsePointer32=function(A){var e=this.parseOffset32();if(e>0)return new nA(this.data,this.offset+e).parseStruct(A)},nA.prototype.parseListOfLists=function(A){for(var e=this.parseOffset16List(),t=e.length,i=this.relativeOffset,n=new Array(t),r=0;r<t;r++){var s=e[r];if(0!==s)if(this.relativeOffset=s,A){for(var a=this.parseOffset16List(),o=new Array(a.length),g=0;g<a.length;g++)this.relativeOffset=s+a[g],o[g]=A.call(this);n[r]=o}else n[r]=this.parseUShortList();else n[r]=void 0}return this.relativeOffset=i,n},nA.prototype.parseCoverage=function(){var A=this.offset+this.relativeOffset,e=this.parseUShort(),t=this.parseUShort();if(1===e)return{format:1,glyphs:this.parseUShortList(t)};if(2===e){for(var i=new Array(t),n=0;n<t;n++)i[n]={start:this.parseUShort(),end:this.parseUShort(),index:this.parseUShort()};return{format:2,ranges:i}}throw new Error("0x"+A.toString(16)+": Coverage format must be 1 or 2.")},nA.prototype.parseClassDef=function(){var A=this.offset+this.relativeOffset,e=this.parseUShort();if(1===e)return{format:1,startGlyph:this.parseUShort(),classes:this.parseUShortList()};if(2===e)return{format:2,ranges:this.parseRecordList({start:nA.uShort,end:nA.uShort,classId:nA.uShort})};throw new Error("0x"+A.toString(16)+": ClassDef format must be 1 or 2.")},nA.list=function(A,e){return function(){return this.parseList(A,e)}},nA.list32=function(A,e){return function(){return this.parseList32(A,e)}},nA.recordList=function(A,e){return function(){return this.parseRecordList(A,e)}},nA.recordList32=function(A,e){return function(){return this.parseRecordList32(A,e)}},nA.pointer=function(A){return function(){return this.parsePointer(A)}},nA.pointer32=function(A){return function(){return this.parsePointer32(A)}},nA.tag=nA.prototype.parseTag,nA.byte=nA.prototype.parseByte,nA.uShort=nA.offset16=nA.prototype.parseUShort,nA.uShortList=nA.prototype.parseUShortList,nA.uLong=nA.offset32=nA.prototype.parseULong,nA.uLongList=nA.prototype.parseULongList,nA.struct=nA.prototype.parseStruct,nA.coverage=nA.prototype.parseCoverage,nA.classDef=nA.prototype.parseClassDef;var rA={reserved:nA.uShort,reqFeatureIndex:nA.uShort,featureIndexes:nA.uShortList};nA.prototype.parseScriptList=function(){return this.parsePointer(nA.recordList({tag:nA.tag,script:nA.pointer({defaultLangSys:nA.pointer(rA),langSysRecords:nA.recordList({tag:nA.tag,langSys:nA.pointer(rA)})})}))||[]},nA.prototype.parseFeatureList=function(){return this.parsePointer(nA.recordList({tag:nA.tag,feature:nA.pointer({featureParams:nA.offset16,lookupListIndexes:nA.uShortList})}))||[]},nA.prototype.parseLookupList=function(A){return this.parsePointer(nA.list(nA.pointer((function(){var e=this.parseUShort();x.argument(1<=e&&e<=9,"GPOS/GSUB lookup type "+e+" unknown.");var t=this.parseUShort(),i=16&t;return{lookupType:e,lookupFlag:t,subtables:this.parseList(nA.pointer(A[e])),markFilteringSet:i?this.parseUShort():void 0}}))))||[]},nA.prototype.parseFeatureVariationsList=function(){return this.parsePointer32((function(){var A=this.parseUShort(),e=this.parseUShort();return x.argument(1===A&&e<1,"GPOS/GSUB feature variations table unknown."),this.parseRecordList32({conditionSetOffset:nA.offset32,featureTableSubstitutionOffset:nA.offset32})}))||[]};var sA={getByte:$,getCard8:$,getUShort:AA,getCard16:AA,getShort:function(A,e){return A.getInt16(e,!1)},getULong:eA,getFixed:tA,getTag:function(A,e){for(var t="",i=e;i<e+4;i+=1)t+=String.fromCharCode(A.getInt8(i));return t},getOffset:function(A,e,t){for(var i=0,n=0;n<t;n+=1)i<<=8,i+=A.getUint8(e+n);return i},getBytes:function(A,e,t){for(var i=[],n=e;n<t;n+=1)i.push(A.getUint8(n));return i},bytesToString:function(A){for(var e="",t=0;t<A.length;t+=1)e+=String.fromCharCode(A[t]);return e},Parser:nA};function aA(A,e,t){A.segments.push({end:e,start:e,delta:-(e-t),offset:0,glyphIndex:t})}var oA=function(A,e){var t={};t.version=sA.getUShort(A,e),x.argument(0===t.version,"cmap table version should be 0."),t.numTables=sA.getUShort(A,e+2);for(var i=-1,n=t.numTables-1;n>=0;n-=1){var r=sA.getUShort(A,e+4+8*n),s=sA.getUShort(A,e+4+8*n+2);if(3===r&&(0===s||1===s||10===s)||0===r&&(0===s||1===s||2===s||3===s||4===s)){i=sA.getULong(A,e+4+8*n+4);break}}if(-1===i)throw new Error("No valid cmap sub-tables found.");var a=new sA.Parser(A,e+i);if(t.format=a.parseUShort(),12===t.format)!function(A,e){var t;e.parseUShort(),A.length=e.parseULong(),A.language=e.parseULong(),A.groupCount=t=e.parseULong(),A.glyphIndexMap={};for(var i=0;i<t;i+=1)for(var n=e.parseULong(),r=e.parseULong(),s=e.parseULong(),a=n;a<=r;a+=1)A.glyphIndexMap[a]=s,s++}(t,a);else{if(4!==t.format)throw new Error("Only format 4 and 12 cmap tables are supported (found format "+t.format+").");!function(A,e,t,i,n){var r;A.length=e.parseUShort(),A.language=e.parseUShort(),A.segCount=r=e.parseUShort()>>1,e.skip("uShort",3),A.glyphIndexMap={};for(var s=new sA.Parser(t,i+n+14),a=new sA.Parser(t,i+n+16+2*r),o=new sA.Parser(t,i+n+16+4*r),g=new sA.Parser(t,i+n+16+6*r),I=i+n+16+8*r,C=0;C<r-1;C+=1)for(var Q=void 0,c=s.parseUShort(),B=a.parseUShort(),l=o.parseShort(),u=g.parseUShort(),E=B;E<=c;E+=1)0!==u?(I=g.offset+g.relativeOffset-2,I+=u,I+=2*(E-B),0!==(Q=sA.getUShort(t,I))&&(Q=Q+l&65535)):Q=E+l&65535,A.glyphIndexMap[E]=Q}(t,a,A,e,i)}return t},gA=function(A){var e,t=!0;for(e=A.length-1;e>0;e-=1)if(A.get(e).unicode>65535){console.log("Adding CMAP format 12 (needed!)"),t=!1;break}var i=[{name:"version",type:"USHORT",value:0},{name:"numTables",type:"USHORT",value:t?1:2},{name:"platformID",type:"USHORT",value:3},{name:"encodingID",type:"USHORT",value:1},{name:"offset",type:"ULONG",value:t?12:20}];t||(i=i.concat([{name:"cmap12PlatformID",type:"USHORT",value:3},{name:"cmap12EncodingID",type:"USHORT",value:10},{name:"cmap12Offset",type:"ULONG",value:0}])),i=i.concat([{name:"format",type:"USHORT",value:4},{name:"cmap4Length",type:"USHORT",value:0},{name:"language",type:"USHORT",value:0},{name:"segCountX2",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);var n=new Z.Table("cmap",i);for(n.segments=[],e=0;e<A.length;e+=1){for(var r=A.get(e),s=0;s<r.unicodes.length;s+=1)aA(n,r.unicodes[s],e);n.segments=n.segments.sort((function(A,e){return A.start-e.start}))}!function(A){A.segments.push({end:65535,start:65535,delta:1,offset:0})}(n);var a=n.segments.length,o=0,g=[],I=[],C=[],Q=[],c=[],B=[];for(e=0;e<a;e+=1){var l=n.segments[e];l.end<=65535&&l.start<=65535?(g=g.concat({name:"end_"+e,type:"USHORT",value:l.end}),I=I.concat({name:"start_"+e,type:"USHORT",value:l.start}),C=C.concat({name:"idDelta_"+e,type:"SHORT",value:l.delta}),Q=Q.concat({name:"idRangeOffset_"+e,type:"USHORT",value:l.offset}),void 0!==l.glyphId&&(c=c.concat({name:"glyph_"+e,type:"USHORT",value:l.glyphId}))):o+=1,t||void 0===l.glyphIndex||(B=(B=(B=B.concat({name:"cmap12Start_"+e,type:"ULONG",value:l.start})).concat({name:"cmap12End_"+e,type:"ULONG",value:l.end})).concat({name:"cmap12Glyph_"+e,type:"ULONG",value:l.glyphIndex}))}if(n.segCountX2=2*(a-o),n.searchRange=2*Math.pow(2,Math.floor(Math.log(a-o)/Math.log(2))),n.entrySelector=Math.log(n.searchRange/2)/Math.log(2),n.rangeShift=n.segCountX2-n.searchRange,n.fields=n.fields.concat(g),n.fields.push({name:"reservedPad",type:"USHORT",value:0}),n.fields=n.fields.concat(I),n.fields=n.fields.concat(C),n.fields=n.fields.concat(Q),n.fields=n.fields.concat(c),n.cmap4Length=14+2*g.length+2+2*I.length+2*C.length+2*Q.length+2*c.length,!t){var u=16+4*B.length;n.cmap12Offset=20+n.cmap4Length,n.fields=n.fields.concat([{name:"cmap12Format",type:"USHORT",value:12},{name:"cmap12Reserved",type:"USHORT",value:0},{name:"cmap12Length",type:"ULONG",value:u},{name:"cmap12Language",type:"ULONG",value:0},{name:"cmap12nGroups",type:"ULONG",value:B.length/3}]),n.fields=n.fields.concat(B)}return n},IA=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","266 ff","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"],CA=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","","endash","dagger","daggerdbl","periodcentered","","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","","questiondown","","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","","ring","cedilla","","hungarumlaut","ogonek","caron","emdash","","","","","","","","","","","","","","","","","AE","","ordfeminine","","","","","Lslash","Oslash","OE","ordmasculine","","","","","","ae","","","","dotlessi","","","lslash","oslash","oe","germandbls"],QA=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdownsmall","centoldstyle","Lslashsmall","","","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","","Dotaccentsmall","","","Macronsmall","","","figuredash","hypheninferior","","","Ogoneksmall","Ringsmall","Cedillasmall","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],cA=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"];function BA(A){this.font=A}function lA(A){this.cmap=A}function uA(A,e){this.encoding=A,this.charset=e}function EA(A){switch(A.version){case 1:this.names=cA.slice();break;case 2:this.names=new Array(A.numberOfGlyphs);for(var e=0;e<A.numberOfGlyphs;e++)A.glyphNameIndex[e]<cA.length?this.names[e]=cA[A.glyphNameIndex[e]]:this.names[e]=A.names[A.glyphNameIndex[e]-cA.length];break;case 2.5:this.names=new Array(A.numberOfGlyphs);for(var t=0;t<A.numberOfGlyphs;t++)this.names[t]=cA[t+A.glyphNameIndex[t]];break;default:this.names=[]}}BA.prototype.charToGlyphIndex=function(A){var e=A.codePointAt(0),t=this.font.glyphs;if(t)for(var i=0;i<t.length;i+=1)for(var n=t.get(i),r=0;r<n.unicodes.length;r+=1)if(n.unicodes[r]===e)return i;return null},lA.prototype.charToGlyphIndex=function(A){return this.cmap.glyphIndexMap[A.codePointAt(0)]||0},uA.prototype.charToGlyphIndex=function(A){var e=A.codePointAt(0),t=this.encoding[e];return this.charset.indexOf(t)},EA.prototype.nameToGlyphIndex=function(A){return this.names.indexOf(A)},EA.prototype.glyphIndexToName=function(A){return this.names[A]};var fA=function(A,e,t,i,n){A.beginPath(),A.moveTo(e,t),A.lineTo(i,n),A.stroke()};function hA(A){this.bindConstructorValues(A)}function pA(A,e,t){Object.defineProperty(A,e,{get:function(){return A.path,A[t]},set:function(e){A[t]=e},enumerable:!0,configurable:!0})}function yA(A,e){if(this.font=A,this.glyphs={},Array.isArray(e))for(var t=0;t<e.length;t++){var i=e[t];i.path.unitsPerEm=A.unitsPerEm,this.glyphs[t]=i}this.length=e&&e.length||0}hA.prototype.bindConstructorValues=function(A){var e,t;this.index=A.index||0,this.name=A.name||null,this.unicode=A.unicode||void 0,this.unicodes=A.unicodes||void 0!==A.unicode?[A.unicode]:[],"xMin"in A&&(this.xMin=A.xMin),"yMin"in A&&(this.yMin=A.yMin),"xMax"in A&&(this.xMax=A.xMax),"yMax"in A&&(this.yMax=A.yMax),"advanceWidth"in A&&(this.advanceWidth=A.advanceWidth),Object.defineProperty(this,"path",(e=A.path,t=e||new w,{configurable:!0,get:function(){return"function"==typeof t&&(t=t()),t},set:function(A){t=A}}))},hA.prototype.addUnicode=function(A){0===this.unicodes.length&&(this.unicode=A),this.unicodes.push(A)},hA.prototype.getBoundingBox=function(){return this.path.getBoundingBox()},hA.prototype.getPath=function(A,e,t,i,n){var r,s;A=void 0!==A?A:0,e=void 0!==e?e:0,t=void 0!==t?t:72,i||(i={});var a=i.xScale,o=i.yScale;if(i.hinting&&n&&n.hinting&&(s=this.path&&n.hinting.exec(this,t)),s)r=n.hinting.getCommands(s),A=Math.round(A),e=Math.round(e),a=o=1;else{r=this.path.commands;var g=1/(this.path.unitsPerEm||1e3)*t;void 0===a&&(a=g),void 0===o&&(o=g)}for(var I=new w,C=0;C<r.length;C+=1){var Q=r[C];"M"===Q.type?I.moveTo(A+Q.x*a,e+-Q.y*o):"L"===Q.type?I.lineTo(A+Q.x*a,e+-Q.y*o):"Q"===Q.type?I.quadraticCurveTo(A+Q.x1*a,e+-Q.y1*o,A+Q.x*a,e+-Q.y*o):"C"===Q.type?I.curveTo(A+Q.x1*a,e+-Q.y1*o,A+Q.x2*a,e+-Q.y2*o,A+Q.x*a,e+-Q.y*o):"Z"===Q.type&&I.closePath()}return I},hA.prototype.getContours=function(){if(void 0===this.points)return[];for(var A=[],e=[],t=0;t<this.points.length;t+=1){var i=this.points[t];e.push(i),i.lastPointOfContour&&(A.push(e),e=[])}return x.argument(0===e.length,"There are still points left in the current contour."),A},hA.prototype.getMetrics=function(){for(var A=this.path.commands,e=[],t=[],i=0;i<A.length;i+=1){var n=A[i];"Z"!==n.type&&(e.push(n.x),t.push(n.y)),"Q"!==n.type&&"C"!==n.type||(e.push(n.x1),t.push(n.y1)),"C"===n.type&&(e.push(n.x2),t.push(n.y2))}var r={xMin:Math.min.apply(null,e),yMin:Math.min.apply(null,t),xMax:Math.max.apply(null,e),yMax:Math.max.apply(null,t),leftSideBearing:this.leftSideBearing};return isFinite(r.xMin)||(r.xMin=0),isFinite(r.xMax)||(r.xMax=this.advanceWidth),isFinite(r.yMin)||(r.yMin=0),isFinite(r.yMax)||(r.yMax=0),r.rightSideBearing=this.advanceWidth-r.leftSideBearing-(r.xMax-r.xMin),r},hA.prototype.draw=function(A,e,t,i,n){this.getPath(e,t,i,n).draw(A)},hA.prototype.drawPoints=function(A,e,t,i){function n(e,t,i,n){A.beginPath();for(var r=0;r<e.length;r+=1)A.moveTo(t+e[r].x*n,i+e[r].y*n),A.arc(t+e[r].x*n,i+e[r].y*n,2,0,2*Math.PI,!1);A.closePath(),A.fill()}e=void 0!==e?e:0,t=void 0!==t?t:0,i=void 0!==i?i:24;for(var r=1/this.path.unitsPerEm*i,s=[],a=[],o=this.path,g=0;g<o.commands.length;g+=1){var I=o.commands[g];void 0!==I.x&&s.push({x:I.x,y:-I.y}),void 0!==I.x1&&a.push({x:I.x1,y:-I.y1}),void 0!==I.x2&&a.push({x:I.x2,y:-I.y2})}A.fillStyle="blue",n(s,e,t,r),A.fillStyle="red",n(a,e,t,r)},hA.prototype.drawMetrics=function(A,e,t,i){var n;e=void 0!==e?e:0,t=void 0!==t?t:0,i=void 0!==i?i:24,n=1/this.path.unitsPerEm*i,A.lineWidth=1,A.strokeStyle="black",fA(A,e,-1e4,e,1e4),fA(A,-1e4,t,1e4,t);var r=this.xMin||0,s=this.yMin||0,a=this.xMax||0,o=this.yMax||0,g=this.advanceWidth||0;A.strokeStyle="blue",fA(A,e+r*n,-1e4,e+r*n,1e4),fA(A,e+a*n,-1e4,e+a*n,1e4),fA(A,-1e4,t+-s*n,1e4,t+-s*n),fA(A,-1e4,t+-o*n,1e4,t+-o*n),A.strokeStyle="green",fA(A,e+g*n,-1e4,e+g*n,1e4)},yA.prototype.get=function(A){if(void 0===this.glyphs[A]){this.font._push(A),"function"==typeof this.glyphs[A]&&(this.glyphs[A]=this.glyphs[A]());var e=this.glyphs[A],t=this.font._IndexToUnicodeMap[A];if(t)for(var i=0;i<t.unicodes.length;i++)e.addUnicode(t.unicodes[i]);this.font.cffEncoding?this.font.isCIDFont?e.name="gid"+A:e.name=this.font.cffEncoding.charset[A]:this.font.glyphNames.names&&(e.name=this.font.glyphNames.glyphIndexToName(A)),this.glyphs[A].advanceWidth=this.font._hmtxTableData[A].advanceWidth,this.glyphs[A].leftSideBearing=this.font._hmtxTableData[A].leftSideBearing}else"function"==typeof this.glyphs[A]&&(this.glyphs[A]=this.glyphs[A]());return this.glyphs[A]},yA.prototype.push=function(A,e){this.glyphs[A]=e,this.length++};var dA={GlyphSet:yA,glyphLoader:function(A,e){return new hA({index:e,font:A})},ttfGlyphLoader:function(A,e,t,i,n,r){return function(){var s=new hA({index:e,font:A});return s.path=function(){t(s,i,n);var e=r(A.glyphs,s);return e.unitsPerEm=A.unitsPerEm,e},pA(s,"xMin","_xMin"),pA(s,"xMax","_xMax"),pA(s,"yMin","_yMin"),pA(s,"yMax","_yMax"),s}},cffGlyphLoader:function(A,e,t,i){return function(){var n=new hA({index:e,font:A});return n.path=function(){var e=t(A,n,i);return e.unitsPerEm=A.unitsPerEm,e},n}}};function mA(A,e){if(A===e)return!0;if(Array.isArray(A)&&Array.isArray(e)){if(A.length!==e.length)return!1;for(var t=0;t<A.length;t+=1)if(!mA(A[t],e[t]))return!1;return!0}return!1}function bA(A){return A.length<1240?107:A.length<33900?1131:32768}function DA(A,e,t){var i,n,r=[],s=[],a=sA.getCard16(A,e);if(0!==a){var o=sA.getByte(A,e+2);i=e+(a+1)*o+2;for(var g=e+3,I=0;I<a+1;I+=1)r.push(sA.getOffset(A,g,o)),g+=o;n=i+r[a]}else n=e+2;for(var C=0;C<r.length-1;C+=1){var Q=sA.getBytes(A,i+r[C],i+r[C+1]);t&&(Q=t(Q)),s.push(Q)}return{objects:s,startOffset:e,endOffset:n}}function SA(A,e){if(28===e)return A.parseByte()<<8|A.parseByte();if(29===e)return A.parseByte()<<24|A.parseByte()<<16|A.parseByte()<<8|A.parseByte();if(30===e)return function(A){for(var e="",t=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"];;){var i=A.parseByte(),n=i>>4,r=15&i;if(15===n)break;if(e+=t[n],15===r)break;e+=t[r]}return parseFloat(e)}(A);if(e>=32&&e<=246)return e-139;if(e>=247&&e<=250)return 256*(e-247)+A.parseByte()+108;if(e>=251&&e<=254)return 256*-(e-251)-A.parseByte()-108;throw new Error("Invalid b0 "+e)}function wA(A,e,t){e=void 0!==e?e:0;var i=new sA.Parser(A,e),n=[],r=[];for(t=void 0!==t?t:A.length;i.relativeOffset<t;){var s=i.parseByte();s<=21?(12===s&&(s=1200+i.parseByte()),n.push([s,r]),r=[]):r.push(SA(i,s))}return function(A){for(var e={},t=0;t<A.length;t+=1){var i,n=A[t][0],r=A[t][1];if(i=1===r.length?r[0]:r,e.hasOwnProperty(n)&&!isNaN(e[n]))throw new Error("Object "+e+" already has key "+n);e[n]=i}return e}(n)}function vA(A,e){return e<=390?IA[e]:A[e-391]}function kA(A,e,t){for(var i,n={},r=0;r<e.length;r+=1){var s=e[r];if(Array.isArray(s.type)){var a=[];a.length=s.type.length;for(var o=0;o<s.type.length;o++)void 0===(i=void 0!==A[s.op]?A[s.op][o]:void 0)&&(i=void 0!==s.value&&void 0!==s.value[o]?s.value[o]:null),"SID"===s.type[o]&&(i=vA(t,i)),a[o]=i;n[s.name]=a}else void 0===(i=A[s.op])&&(i=void 0!==s.value?s.value:null),"SID"===s.type&&(i=vA(t,i)),n[s.name]=i}return n}var xA=[{name:"version",op:0,type:"SID"},{name:"notice",op:1,type:"SID"},{name:"copyright",op:1200,type:"SID"},{name:"fullName",op:2,type:"SID"},{name:"familyName",op:3,type:"SID"},{name:"weight",op:4,type:"SID"},{name:"isFixedPitch",op:1201,type:"number",value:0},{name:"italicAngle",op:1202,type:"number",value:0},{name:"underlinePosition",op:1203,type:"number",value:-100},{name:"underlineThickness",op:1204,type:"number",value:50},{name:"paintType",op:1205,type:"number",value:0},{name:"charstringType",op:1206,type:"number",value:2},{name:"fontMatrix",op:1207,type:["real","real","real","real","real","real"],value:[.001,0,0,.001,0,0]},{name:"uniqueId",op:13,type:"number"},{name:"fontBBox",op:5,type:["number","number","number","number"],value:[0,0,0,0]},{name:"strokeWidth",op:1208,type:"number",value:0},{name:"xuid",op:14,type:[],value:null},{name:"charset",op:15,type:"offset",value:0},{name:"encoding",op:16,type:"offset",value:0},{name:"charStrings",op:17,type:"offset",value:0},{name:"private",op:18,type:["number","offset"],value:[0,0]},{name:"ros",op:1230,type:["SID","SID","number"]},{name:"cidFontVersion",op:1231,type:"number",value:0},{name:"cidFontRevision",op:1232,type:"number",value:0},{name:"cidFontType",op:1233,type:"number",value:0},{name:"cidCount",op:1234,type:"number",value:8720},{name:"uidBase",op:1235,type:"number"},{name:"fdArray",op:1236,type:"offset"},{name:"fdSelect",op:1237,type:"offset"},{name:"fontName",op:1238,type:"SID"}],GA=[{name:"subrs",op:19,type:"offset",value:0},{name:"defaultWidthX",op:20,type:"number",value:0},{name:"nominalWidthX",op:21,type:"number",value:0}];function NA(A,e){return kA(wA(A,0,A.byteLength),xA,e)}function UA(A,e,t,i){return kA(wA(A,e,t),GA,i)}function FA(A,e,t,i){for(var n=[],r=0;r<t.length;r+=1){var s=NA(new DataView(new Uint8Array(t[r]).buffer),i);s._subrs=[],s._subrsBias=0,s._defaultWidthX=0,s._nominalWidthX=0;var a=s.private[0],o=s.private[1];if(0!==a&&0!==o){var g=UA(A,o+e,a,i);if(s._defaultWidthX=g.defaultWidthX,s._nominalWidthX=g.nominalWidthX,0!==g.subrs){var I=DA(A,o+g.subrs+e);s._subrs=I.objects,s._subrsBias=bA(s._subrs)}s._privateDict=g}n.push(s)}return n}function MA(A,e,t){var i,n,r,s,a,o,g,I,C=new w,Q=[],c=0,B=!1,l=!1,u=0,E=0;if(A.isCIDFont){var f=A.tables.cff.topDict._fdSelect[e.index],h=A.tables.cff.topDict._fdArray[f];a=h._subrs,o=h._subrsBias,g=h._defaultWidthX,I=h._nominalWidthX}else a=A.tables.cff.topDict._subrs,o=A.tables.cff.topDict._subrsBias,g=A.tables.cff.topDict._defaultWidthX,I=A.tables.cff.topDict._nominalWidthX;var p=g;function y(A,e){l&&C.closePath(),C.moveTo(A,e),l=!0}function d(){Q.length%2!=0&&!B&&(p=Q.shift()+I),c+=Q.length>>1,Q.length=0,B=!0}return function t(g){for(var f,h,m,b,D,S,w,v,k,x,G,N,U=0;U<g.length;){var F=g[U];switch(U+=1,F){case 1:case 3:case 18:case 23:d();break;case 4:Q.length>1&&!B&&(p=Q.shift()+I,B=!0),E+=Q.pop(),y(u,E);break;case 5:for(;Q.length>0;)u+=Q.shift(),E+=Q.shift(),C.lineTo(u,E);break;case 6:for(;Q.length>0&&(u+=Q.shift(),C.lineTo(u,E),0!==Q.length);)E+=Q.shift(),C.lineTo(u,E);break;case 7:for(;Q.length>0&&(E+=Q.shift(),C.lineTo(u,E),0!==Q.length);)u+=Q.shift(),C.lineTo(u,E);break;case 8:for(;Q.length>0;)i=u+Q.shift(),n=E+Q.shift(),r=i+Q.shift(),s=n+Q.shift(),u=r+Q.shift(),E=s+Q.shift(),C.curveTo(i,n,r,s,u,E);break;case 10:D=Q.pop()+o,(S=a[D])&&t(S);break;case 11:return;case 12:switch(F=g[U],U+=1,F){case 35:i=u+Q.shift(),n=E+Q.shift(),r=i+Q.shift(),s=n+Q.shift(),w=r+Q.shift(),v=s+Q.shift(),k=w+Q.shift(),x=v+Q.shift(),G=k+Q.shift(),N=x+Q.shift(),u=G+Q.shift(),E=N+Q.shift(),Q.shift(),C.curveTo(i,n,r,s,w,v),C.curveTo(k,x,G,N,u,E);break;case 34:i=u+Q.shift(),n=E,r=i+Q.shift(),s=n+Q.shift(),w=r+Q.shift(),v=s,k=w+Q.shift(),x=s,G=k+Q.shift(),N=E,u=G+Q.shift(),C.curveTo(i,n,r,s,w,v),C.curveTo(k,x,G,N,u,E);break;case 36:i=u+Q.shift(),n=E+Q.shift(),r=i+Q.shift(),s=n+Q.shift(),w=r+Q.shift(),v=s,k=w+Q.shift(),x=s,G=k+Q.shift(),N=x+Q.shift(),u=G+Q.shift(),C.curveTo(i,n,r,s,w,v),C.curveTo(k,x,G,N,u,E);break;case 37:i=u+Q.shift(),n=E+Q.shift(),r=i+Q.shift(),s=n+Q.shift(),w=r+Q.shift(),v=s+Q.shift(),k=w+Q.shift(),x=v+Q.shift(),G=k+Q.shift(),N=x+Q.shift(),Math.abs(G-u)>Math.abs(N-E)?u=G+Q.shift():E=N+Q.shift(),C.curveTo(i,n,r,s,w,v),C.curveTo(k,x,G,N,u,E);break;default:console.log("Glyph "+e.index+": unknown operator 1200"+F),Q.length=0}break;case 14:Q.length>0&&!B&&(p=Q.shift()+I,B=!0),l&&(C.closePath(),l=!1);break;case 19:case 20:d(),U+=c+7>>3;break;case 21:Q.length>2&&!B&&(p=Q.shift()+I,B=!0),E+=Q.pop(),y(u+=Q.pop(),E);break;case 22:Q.length>1&&!B&&(p=Q.shift()+I,B=!0),y(u+=Q.pop(),E);break;case 24:for(;Q.length>2;)i=u+Q.shift(),n=E+Q.shift(),r=i+Q.shift(),s=n+Q.shift(),u=r+Q.shift(),E=s+Q.shift(),C.curveTo(i,n,r,s,u,E);u+=Q.shift(),E+=Q.shift(),C.lineTo(u,E);break;case 25:for(;Q.length>6;)u+=Q.shift(),E+=Q.shift(),C.lineTo(u,E);i=u+Q.shift(),n=E+Q.shift(),r=i+Q.shift(),s=n+Q.shift(),u=r+Q.shift(),E=s+Q.shift(),C.curveTo(i,n,r,s,u,E);break;case 26:for(Q.length%2&&(u+=Q.shift());Q.length>0;)i=u,n=E+Q.shift(),r=i+Q.shift(),s=n+Q.shift(),u=r,E=s+Q.shift(),C.curveTo(i,n,r,s,u,E);break;case 27:for(Q.length%2&&(E+=Q.shift());Q.length>0;)i=u+Q.shift(),n=E,r=i+Q.shift(),s=n+Q.shift(),u=r+Q.shift(),E=s,C.curveTo(i,n,r,s,u,E);break;case 28:f=g[U],h=g[U+1],Q.push((f<<24|h<<16)>>16),U+=2;break;case 29:D=Q.pop()+A.gsubrsBias,(S=A.gsubrs[D])&&t(S);break;case 30:for(;Q.length>0&&(i=u,n=E+Q.shift(),r=i+Q.shift(),s=n+Q.shift(),u=r+Q.shift(),E=s+(1===Q.length?Q.shift():0),C.curveTo(i,n,r,s,u,E),0!==Q.length);)i=u+Q.shift(),n=E,r=i+Q.shift(),s=n+Q.shift(),E=s+Q.shift(),u=r+(1===Q.length?Q.shift():0),C.curveTo(i,n,r,s,u,E);break;case 31:for(;Q.length>0&&(i=u+Q.shift(),n=E,r=i+Q.shift(),s=n+Q.shift(),E=s+Q.shift(),u=r+(1===Q.length?Q.shift():0),C.curveTo(i,n,r,s,u,E),0!==Q.length);)i=u,n=E+Q.shift(),r=i+Q.shift(),s=n+Q.shift(),u=r+Q.shift(),E=s+(1===Q.length?Q.shift():0),C.curveTo(i,n,r,s,u,E);break;default:F<32?console.log("Glyph "+e.index+": unknown operator "+F):F<247?Q.push(F-139):F<251?(f=g[U],U+=1,Q.push(256*(F-247)+f+108)):F<255?(f=g[U],U+=1,Q.push(256*-(F-251)-f-108)):(f=g[U],h=g[U+1],m=g[U+2],b=g[U+3],U+=4,Q.push((f<<24|h<<16|m<<8|b)/65536))}}}(t),e.advanceWidth=p,C}function RA(A,e){var t,i=IA.indexOf(A);return i>=0&&(t=i),(i=e.indexOf(A))>=0?t=i+IA.length:(t=IA.length+e.length,e.push(A)),t}function LA(A,e,t){for(var i={},n=0;n<A.length;n+=1){var r=A[n],s=e[r.name];void 0===s||mA(s,r.value)||("SID"===r.type&&(s=RA(s,t)),i[r.op]={name:r.name,type:r.type,value:s})}return i}function zA(A,e){var t=new Z.Record("Top DICT",[{name:"dict",type:"DICT",value:{}}]);return t.dict=LA(xA,A,e),t}function JA(A){var e=new Z.Record("Top DICT INDEX",[{name:"topDicts",type:"INDEX",value:[]}]);return e.topDicts=[{name:"topDict_0",type:"TABLE",value:A}],e}function qA(A){var e=[],t=A.path;e.push({name:"width",type:"NUMBER",value:A.advanceWidth});for(var i=0,n=0,r=0;r<t.commands.length;r+=1){var s=void 0,a=void 0,o=t.commands[r];if("Q"===o.type){var g=1/3,I=2/3;o={type:"C",x:o.x,y:o.y,x1:Math.round(g*i+I*o.x1),y1:Math.round(g*n+I*o.y1),x2:Math.round(g*o.x+I*o.x1),y2:Math.round(g*o.y+I*o.y1)}}if("M"===o.type)s=Math.round(o.x-i),a=Math.round(o.y-n),e.push({name:"dx",type:"NUMBER",value:s}),e.push({name:"dy",type:"NUMBER",value:a}),e.push({name:"rmoveto",type:"OP",value:21}),i=Math.round(o.x),n=Math.round(o.y);else if("L"===o.type)s=Math.round(o.x-i),a=Math.round(o.y-n),e.push({name:"dx",type:"NUMBER",value:s}),e.push({name:"dy",type:"NUMBER",value:a}),e.push({name:"rlineto",type:"OP",value:5}),i=Math.round(o.x),n=Math.round(o.y);else if("C"===o.type){var C=Math.round(o.x1-i),Q=Math.round(o.y1-n),c=Math.round(o.x2-o.x1),B=Math.round(o.y2-o.y1);s=Math.round(o.x-o.x2),a=Math.round(o.y-o.y2),e.push({name:"dx1",type:"NUMBER",value:C}),e.push({name:"dy1",type:"NUMBER",value:Q}),e.push({name:"dx2",type:"NUMBER",value:c}),e.push({name:"dy2",type:"NUMBER",value:B}),e.push({name:"dx",type:"NUMBER",value:s}),e.push({name:"dy",type:"NUMBER",value:a}),e.push({name:"rrcurveto",type:"OP",value:8}),i=Math.round(o.x),n=Math.round(o.y)}}return e.push({name:"endchar",type:"OP",value:14}),e}var OA=function(A,e,t,i){t.tables.cff={};var n=function(A,e){var t={};return t.formatMajor=sA.getCard8(A,e),t.formatMinor=sA.getCard8(A,e+1),t.size=sA.getCard8(A,e+2),t.offsetSize=sA.getCard8(A,e+3),t.startOffset=e,t.endOffset=e+4,t}(A,e),r=DA(A,n.endOffset,sA.bytesToString),s=DA(A,r.endOffset),a=DA(A,s.endOffset,sA.bytesToString),o=DA(A,a.endOffset);t.gsubrs=o.objects,t.gsubrsBias=bA(t.gsubrs);var g=FA(A,e,s.objects,a.objects);if(1!==g.length)throw new Error("CFF table has too many fonts in 'FontSet' - count of fonts NameIndex.length = "+g.length);var I=g[0];if(t.tables.cff.topDict=I,I._privateDict&&(t.defaultWidthX=I._privateDict.defaultWidthX,t.nominalWidthX=I._privateDict.nominalWidthX),void 0!==I.ros[0]&&void 0!==I.ros[1]&&(t.isCIDFont=!0),t.isCIDFont){var C=I.fdArray,Q=I.fdSelect;if(0===C||0===Q)throw new Error("Font is marked as a CID font, but FDArray and/or FDSelect information is missing");var c=DA(A,C+=e),B=FA(A,e,c.objects,a.objects);I._fdArray=B,Q+=e,I._fdSelect=function(A,e,t,i){var n,r=[],s=new sA.Parser(A,e),a=s.parseCard8();if(0===a)for(var o=0;o<t;o++){if((n=s.parseCard8())>=i)throw new Error("CFF table CID Font FDSelect has bad FD index value "+n+" (FD count "+i+")");r.push(n)}else{if(3!==a)throw new Error("CFF Table CID Font FDSelect table has unsupported format "+a);var g,I=s.parseCard16(),C=s.parseCard16();if(0!==C)throw new Error("CFF Table CID Font FDSelect format 3 range has bad initial GID "+C);for(var Q=0;Q<I;Q++){if(n=s.parseCard8(),g=s.parseCard16(),n>=i)throw new Error("CFF table CID Font FDSelect has bad FD index value "+n+" (FD count "+i+")");if(g>t)throw new Error("CFF Table CID Font FDSelect format 3 range has bad GID "+g);for(;C<g;C++)r.push(n);C=g}if(g!==t)throw new Error("CFF Table CID Font FDSelect format 3 range has bad final GID "+g)}return r}(A,Q,t.numGlyphs,B.length)}var l,u=e+I.private[1],E=UA(A,u,I.private[0],a.objects);if(t.defaultWidthX=E.defaultWidthX,t.nominalWidthX=E.nominalWidthX,0!==E.subrs){var f=u+E.subrs,h=DA(A,f);t.subrs=h.objects,t.subrsBias=bA(t.subrs)}else t.subrs=[],t.subrsBias=0;i.lowMemory?(l=function(A,e){var t,i,n=[],r=sA.getCard16(A,e);if(0!==r){var s=sA.getByte(A,e+2);t=e+(r+1)*s+2;for(var a=e+3,o=0;o<r+1;o+=1)n.push(sA.getOffset(A,a,s)),a+=s;i=t+n[r]}else i=e+2;return{offsets:n,startOffset:e,endOffset:i}}(A,e+I.charStrings),t.nGlyphs=l.offsets.length):(l=DA(A,e+I.charStrings),t.nGlyphs=l.objects.length);var p=function(A,e,t,i){var n,r,s=new sA.Parser(A,e);t-=1;var a=[".notdef"],o=s.parseCard8();if(0===o)for(var g=0;g<t;g+=1)n=s.parseSID(),a.push(vA(i,n));else if(1===o)for(;a.length<=t;){n=s.parseSID(),r=s.parseCard8();for(var I=0;I<=r;I+=1)a.push(vA(i,n)),n+=1}else{if(2!==o)throw new Error("Unknown charset format "+o);for(;a.length<=t;){n=s.parseSID(),r=s.parseCard16();for(var C=0;C<=r;C+=1)a.push(vA(i,n)),n+=1}}return a}(A,e+I.charset,t.nGlyphs,a.objects);if(0===I.encoding?t.cffEncoding=new uA(CA,p):1===I.encoding?t.cffEncoding=new uA(QA,p):t.cffEncoding=function(A,e,t){var i,n={},r=new sA.Parser(A,e),s=r.parseCard8();if(0===s)for(var a=r.parseCard8(),o=0;o<a;o+=1)n[i=r.parseCard8()]=o;else{if(1!==s)throw new Error("Unknown encoding format "+s);var g=r.parseCard8();i=1;for(var I=0;I<g;I+=1)for(var C=r.parseCard8(),Q=r.parseCard8(),c=C;c<=C+Q;c+=1)n[c]=i,i+=1}return new uA(n,t)}(A,e+I.encoding,p),t.encoding=t.encoding||t.cffEncoding,t.glyphs=new dA.GlyphSet(t),i.lowMemory)t._push=function(i){var n=function(A,e,t,i){var n=sA.getCard16(t,i),r=0;0!==n&&(r=i+(n+1)*sA.getByte(t,i+2)+2);var s=sA.getBytes(t,r+e[A],r+e[A+1]);return s}(i,l.offsets,A,e+I.charStrings);t.glyphs.push(i,dA.cffGlyphLoader(t,i,MA,n))};else for(var y=0;y<t.nGlyphs;y+=1){var d=l.objects[y];t.glyphs.push(y,dA.cffGlyphLoader(t,y,MA,d))}},KA=function(A,e){for(var t,i=new Z.Table("CFF ",[{name:"header",type:"RECORD"},{name:"nameIndex",type:"RECORD"},{name:"topDictIndex",type:"RECORD"},{name:"stringIndex",type:"RECORD"},{name:"globalSubrIndex",type:"RECORD"},{name:"charsets",type:"RECORD"},{name:"charStringsIndex",type:"RECORD"},{name:"privateDict",type:"RECORD"}]),n=1/e.unitsPerEm,r={version:e.version,fullName:e.fullName,familyName:e.familyName,weight:e.weightName,fontBBox:e.fontBBox||[0,0,0,0],fontMatrix:[n,0,0,n,0,0],charset:999,encoding:0,charStrings:999,private:[0,999]},s=[],a=1;a<A.length;a+=1)t=A.get(a),s.push(t.name);var o=[];i.header=new Z.Record("Header",[{name:"major",type:"Card8",value:1},{name:"minor",type:"Card8",value:0},{name:"hdrSize",type:"Card8",value:4},{name:"major",type:"Card8",value:1}]),i.nameIndex=function(A){var e=new Z.Record("Name INDEX",[{name:"names",type:"INDEX",value:[]}]);e.names=[];for(var t=0;t<A.length;t+=1)e.names.push({name:"name_"+t,type:"NAME",value:A[t]});return e}([e.postScriptName]);var g=zA(r,o);i.topDictIndex=JA(g),i.globalSubrIndex=new Z.Record("Global Subr INDEX",[{name:"subrs",type:"INDEX",value:[]}]),i.charsets=function(A,e){for(var t=new Z.Record("Charsets",[{name:"format",type:"Card8",value:0}]),i=0;i<A.length;i+=1){var n=RA(A[i],e);t.fields.push({name:"glyph_"+i,type:"SID",value:n})}return t}(s,o),i.charStringsIndex=function(A){for(var e=new Z.Record("CharStrings INDEX",[{name:"charStrings",type:"INDEX",value:[]}]),t=0;t<A.length;t+=1){var i=A.get(t),n=qA(i);e.charStrings.push({name:i.name,type:"CHARSTRING",value:n})}return e}(A),i.privateDict=function(A,e){var t=new Z.Record("Private DICT",[{name:"dict",type:"DICT",value:{}}]);return t.dict=LA(GA,{},e),t}(0,o),i.stringIndex=function(A){var e=new Z.Record("String INDEX",[{name:"strings",type:"INDEX",value:[]}]);e.strings=[];for(var t=0;t<A.length;t+=1)e.strings.push({name:"string_"+t,type:"STRING",value:A[t]});return e}(o);var I=i.header.sizeOf()+i.nameIndex.sizeOf()+i.topDictIndex.sizeOf()+i.stringIndex.sizeOf()+i.globalSubrIndex.sizeOf();return r.charset=I,r.encoding=0,r.charStrings=r.charset+i.charsets.sizeOf(),r.private[1]=r.charStrings+i.charStringsIndex.sizeOf(),g=zA(r,o),i.topDictIndex=JA(g),i},TA=function(A,e){var t={},i=new sA.Parser(A,e);return t.version=i.parseVersion(),t.fontRevision=Math.round(1e3*i.parseFixed())/1e3,t.checkSumAdjustment=i.parseULong(),t.magicNumber=i.parseULong(),x.argument(1594834165===t.magicNumber,"Font header has wrong magic number."),t.flags=i.parseUShort(),t.unitsPerEm=i.parseUShort(),t.created=i.parseLongDateTime(),t.modified=i.parseLongDateTime(),t.xMin=i.parseShort(),t.yMin=i.parseShort(),t.xMax=i.parseShort(),t.yMax=i.parseShort(),t.macStyle=i.parseUShort(),t.lowestRecPPEM=i.parseUShort(),t.fontDirectionHint=i.parseShort(),t.indexToLocFormat=i.parseShort(),t.glyphDataFormat=i.parseShort(),t},YA=function(A){var e=Math.round((new Date).getTime()/1e3)+2082844800,t=e;return A.createdTimestamp&&(t=A.createdTimestamp+2082844800),new Z.Table("head",[{name:"version",type:"FIXED",value:65536},{name:"fontRevision",type:"FIXED",value:65536},{name:"checkSumAdjustment",type:"ULONG",value:0},{name:"magicNumber",type:"ULONG",value:1594834165},{name:"flags",type:"USHORT",value:0},{name:"unitsPerEm",type:"USHORT",value:1e3},{name:"created",type:"LONGDATETIME",value:t},{name:"modified",type:"LONGDATETIME",value:e},{name:"xMin",type:"SHORT",value:0},{name:"yMin",type:"SHORT",value:0},{name:"xMax",type:"SHORT",value:0},{name:"yMax",type:"SHORT",value:0},{name:"macStyle",type:"USHORT",value:0},{name:"lowestRecPPEM",type:"USHORT",value:0},{name:"fontDirectionHint",type:"SHORT",value:2},{name:"indexToLocFormat",type:"SHORT",value:0},{name:"glyphDataFormat",type:"SHORT",value:0}],A)},HA=function(A,e){var t={},i=new sA.Parser(A,e);return t.version=i.parseVersion(),t.ascender=i.parseShort(),t.descender=i.parseShort(),t.lineGap=i.parseShort(),t.advanceWidthMax=i.parseUShort(),t.minLeftSideBearing=i.parseShort(),t.minRightSideBearing=i.parseShort(),t.xMaxExtent=i.parseShort(),t.caretSlopeRise=i.parseShort(),t.caretSlopeRun=i.parseShort(),t.caretOffset=i.parseShort(),i.relativeOffset+=8,t.metricDataFormat=i.parseShort(),t.numberOfHMetrics=i.parseUShort(),t},PA=function(A){return new Z.Table("hhea",[{name:"version",type:"FIXED",value:65536},{name:"ascender",type:"FWORD",value:0},{name:"descender",type:"FWORD",value:0},{name:"lineGap",type:"FWORD",value:0},{name:"advanceWidthMax",type:"UFWORD",value:0},{name:"minLeftSideBearing",type:"FWORD",value:0},{name:"minRightSideBearing",type:"FWORD",value:0},{name:"xMaxExtent",type:"FWORD",value:0},{name:"caretSlopeRise",type:"SHORT",value:1},{name:"caretSlopeRun",type:"SHORT",value:0},{name:"caretOffset",type:"SHORT",value:0},{name:"reserved1",type:"SHORT",value:0},{name:"reserved2",type:"SHORT",value:0},{name:"reserved3",type:"SHORT",value:0},{name:"reserved4",type:"SHORT",value:0},{name:"metricDataFormat",type:"SHORT",value:0},{name:"numberOfHMetrics",type:"USHORT",value:0}],A)},_A=function(A,e,t,i,n,r,s){s.lowMemory?function(A,e,t,i,n){var r,s;A._hmtxTableData={};for(var a=new sA.Parser(e,t),o=0;o<n;o+=1)o<i&&(r=a.parseUShort(),s=a.parseShort()),A._hmtxTableData[o]={advanceWidth:r,leftSideBearing:s}}(A,e,t,i,n):function(A,e,t,i,n){for(var r,s,a=new sA.Parser(A,e),o=0;o<i;o+=1){o<t&&(r=a.parseUShort(),s=a.parseShort());var g=n.get(o);g.advanceWidth=r,g.leftSideBearing=s}}(e,t,i,n,r)},VA=function(A){for(var e=new Z.Table("hmtx",[]),t=0;t<A.length;t+=1){var i=A.get(t),n=i.advanceWidth||0,r=i.leftSideBearing||0;e.fields.push({name:"advanceWidth_"+t,type:"USHORT",value:n}),e.fields.push({name:"leftSideBearing_"+t,type:"SHORT",value:r})}return e},WA=function(A){for(var e=new Z.Table("ltag",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"numTags",type:"ULONG",value:A.length}]),t="",i=12+4*A.length,n=0;n<A.length;++n){var r=t.indexOf(A[n]);r<0&&(r=t.length,t+=A[n]),e.fields.push({name:"offset "+n,type:"USHORT",value:i+r}),e.fields.push({name:"length "+n,type:"USHORT",value:A[n].length})}return e.fields.push({name:"stringPool",type:"CHARARRAY",value:t}),e},XA=function(A,e){var t=new sA.Parser(A,e),i=t.parseULong();x.argument(1===i,"Unsupported ltag table version."),t.skip("uLong",1);for(var n=t.parseULong(),r=[],s=0;s<n;s++){for(var a="",o=e+t.parseUShort(),g=t.parseUShort(),I=o;I<o+g;++I)a+=String.fromCharCode(A.getInt8(I));r.push(a)}return r},jA=function(A,e){var t={},i=new sA.Parser(A,e);return t.version=i.parseVersion(),t.numGlyphs=i.parseUShort(),1===t.version&&(t.maxPoints=i.parseUShort(),t.maxContours=i.parseUShort(),t.maxCompositePoints=i.parseUShort(),t.maxCompositeContours=i.parseUShort(),t.maxZones=i.parseUShort(),t.maxTwilightPoints=i.parseUShort(),t.maxStorage=i.parseUShort(),t.maxFunctionDefs=i.parseUShort(),t.maxInstructionDefs=i.parseUShort(),t.maxStackElements=i.parseUShort(),t.maxSizeOfInstructions=i.parseUShort(),t.maxComponentElements=i.parseUShort(),t.maxComponentDepth=i.parseUShort()),t},ZA=function(A){return new Z.Table("maxp",[{name:"version",type:"FIXED",value:20480},{name:"numGlyphs",type:"USHORT",value:A}])},$A=["copyright","fontFamily","fontSubfamily","uniqueID","fullName","version","postScriptName","trademark","manufacturer","designer","description","manufacturerURL","designerURL","license","licenseURL","reserved","preferredFamily","preferredSubfamily","compatibleFullName","sampleText","postScriptFindFontName","wwsFamily","wwsSubfamily"],Ae={0:"en",1:"fr",2:"de",3:"it",4:"nl",5:"sv",6:"es",7:"da",8:"pt",9:"no",10:"he",11:"ja",12:"ar",13:"fi",14:"el",15:"is",16:"mt",17:"tr",18:"hr",19:"zh-Hant",20:"ur",21:"hi",22:"th",23:"ko",24:"lt",25:"pl",26:"hu",27:"es",28:"lv",29:"se",30:"fo",31:"fa",32:"ru",33:"zh",34:"nl-BE",35:"ga",36:"sq",37:"ro",38:"cz",39:"sk",40:"si",41:"yi",42:"sr",43:"mk",44:"bg",45:"uk",46:"be",47:"uz",48:"kk",49:"az-Cyrl",50:"az-Arab",51:"hy",52:"ka",53:"mo",54:"ky",55:"tg",56:"tk",57:"mn-CN",58:"mn",59:"ps",60:"ks",61:"ku",62:"sd",63:"bo",64:"ne",65:"sa",66:"mr",67:"bn",68:"as",69:"gu",70:"pa",71:"or",72:"ml",73:"kn",74:"ta",75:"te",76:"si",77:"my",78:"km",79:"lo",80:"vi",81:"id",82:"tl",83:"ms",84:"ms-Arab",85:"am",86:"ti",87:"om",88:"so",89:"sw",90:"rw",91:"rn",92:"ny",93:"mg",94:"eo",128:"cy",129:"eu",130:"ca",131:"la",132:"qu",133:"gn",134:"ay",135:"tt",136:"ug",137:"dz",138:"jv",139:"su",140:"gl",141:"af",142:"br",143:"iu",144:"gd",145:"gv",146:"ga",147:"to",148:"el-polyton",149:"kl",150:"az",151:"nn"},ee={0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:5,11:1,12:4,13:0,14:6,15:0,16:0,17:0,18:0,19:2,20:4,21:9,22:21,23:3,24:29,25:29,26:29,27:29,28:29,29:0,30:0,31:4,32:7,33:25,34:0,35:0,36:0,37:0,38:29,39:29,40:0,41:5,42:7,43:7,44:7,45:7,46:7,47:7,48:7,49:7,50:4,51:24,52:23,53:7,54:7,55:7,56:7,57:27,58:7,59:4,60:4,61:4,62:4,63:26,64:9,65:9,66:9,67:13,68:13,69:11,70:10,71:12,72:17,73:16,74:14,75:15,76:18,77:19,78:20,79:22,80:30,81:0,82:0,83:0,84:4,85:28,86:28,87:28,88:0,89:0,90:0,91:0,92:0,93:0,94:0,128:0,129:0,130:0,131:0,132:0,133:0,134:0,135:7,136:4,137:26,138:0,139:0,140:0,141:0,142:0,143:28,144:0,145:0,146:0,147:0,148:6,149:0,150:0,151:0},te={1078:"af",1052:"sq",1156:"gsw",1118:"am",5121:"ar-DZ",15361:"ar-BH",3073:"ar",2049:"ar-IQ",11265:"ar-JO",13313:"ar-KW",12289:"ar-LB",4097:"ar-LY",6145:"ary",8193:"ar-OM",16385:"ar-QA",1025:"ar-SA",10241:"ar-SY",7169:"aeb",14337:"ar-AE",9217:"ar-YE",1067:"hy",1101:"as",2092:"az-Cyrl",1068:"az",1133:"ba",1069:"eu",1059:"be",2117:"bn",1093:"bn-IN",8218:"bs-Cyrl",5146:"bs",1150:"br",1026:"bg",1027:"ca",3076:"zh-HK",5124:"zh-MO",2052:"zh",4100:"zh-SG",1028:"zh-TW",1155:"co",1050:"hr",4122:"hr-BA",1029:"cs",1030:"da",1164:"prs",1125:"dv",2067:"nl-BE",1043:"nl",3081:"en-AU",10249:"en-BZ",4105:"en-CA",9225:"en-029",16393:"en-IN",6153:"en-IE",8201:"en-JM",17417:"en-MY",5129:"en-NZ",13321:"en-PH",18441:"en-SG",7177:"en-ZA",11273:"en-TT",2057:"en-GB",1033:"en",12297:"en-ZW",1061:"et",1080:"fo",1124:"fil",1035:"fi",2060:"fr-BE",3084:"fr-CA",1036:"fr",5132:"fr-LU",6156:"fr-MC",4108:"fr-CH",1122:"fy",1110:"gl",1079:"ka",3079:"de-AT",1031:"de",5127:"de-LI",4103:"de-LU",2055:"de-CH",1032:"el",1135:"kl",1095:"gu",1128:"ha",1037:"he",1081:"hi",1038:"hu",1039:"is",1136:"ig",1057:"id",1117:"iu",2141:"iu-Latn",2108:"ga",1076:"xh",1077:"zu",1040:"it",2064:"it-CH",1041:"ja",1099:"kn",1087:"kk",1107:"km",1158:"quc",1159:"rw",1089:"sw",1111:"kok",1042:"ko",1088:"ky",1108:"lo",1062:"lv",1063:"lt",2094:"dsb",1134:"lb",1071:"mk",2110:"ms-BN",1086:"ms",1100:"ml",1082:"mt",1153:"mi",1146:"arn",1102:"mr",1148:"moh",1104:"mn",2128:"mn-CN",1121:"ne",1044:"nb",2068:"nn",1154:"oc",1096:"or",1123:"ps",1045:"pl",1046:"pt",2070:"pt-PT",1094:"pa",1131:"qu-BO",2155:"qu-EC",3179:"qu",1048:"ro",1047:"rm",1049:"ru",9275:"smn",4155:"smj-NO",5179:"smj",3131:"se-FI",1083:"se",2107:"se-SE",8251:"sms",6203:"sma-NO",7227:"sms",1103:"sa",7194:"sr-Cyrl-BA",3098:"sr",6170:"sr-Latn-BA",2074:"sr-Latn",1132:"nso",1074:"tn",1115:"si",1051:"sk",1060:"sl",11274:"es-AR",16394:"es-BO",13322:"es-CL",9226:"es-CO",5130:"es-CR",7178:"es-DO",12298:"es-EC",17418:"es-SV",4106:"es-GT",18442:"es-HN",2058:"es-MX",19466:"es-NI",6154:"es-PA",15370:"es-PY",10250:"es-PE",20490:"es-PR",3082:"es",1034:"es",21514:"es-US",14346:"es-UY",8202:"es-VE",2077:"sv-FI",1053:"sv",1114:"syr",1064:"tg",2143:"tzm",1097:"ta",1092:"tt",1098:"te",1054:"th",1105:"bo",1055:"tr",1090:"tk",1152:"ug",1058:"uk",1070:"hsb",1056:"ur",2115:"uz-Cyrl",1091:"uz",1066:"vi",1106:"cy",1160:"wo",1157:"sah",1144:"ii",1130:"yo"};function ie(A,e,t){switch(A){case 0:if(65535===e)return"und";if(t)return t[e];break;case 1:return Ae[e];case 3:return te[e]}}var ne="utf-16",re={0:"macintosh",1:"x-mac-japanese",2:"x-mac-chinesetrad",3:"x-mac-korean",6:"x-mac-greek",7:"x-mac-cyrillic",9:"x-mac-devanagai",10:"x-mac-gurmukhi",11:"x-mac-gujarati",12:"x-mac-oriya",13:"x-mac-bengali",14:"x-mac-tamil",15:"x-mac-telugu",16:"x-mac-kannada",17:"x-mac-malayalam",18:"x-mac-sinhalese",19:"x-mac-burmese",20:"x-mac-khmer",21:"x-mac-thai",22:"x-mac-lao",23:"x-mac-georgian",24:"x-mac-armenian",25:"x-mac-chinesesimp",26:"x-mac-tibetan",27:"x-mac-mongolian",28:"x-mac-ethiopic",29:"x-mac-ce",30:"x-mac-vietnamese",31:"x-mac-extarabic"},se={15:"x-mac-icelandic",17:"x-mac-turkish",18:"x-mac-croatian",24:"x-mac-ce",25:"x-mac-ce",26:"x-mac-ce",27:"x-mac-ce",28:"x-mac-ce",30:"x-mac-icelandic",37:"x-mac-romanian",38:"x-mac-ce",39:"x-mac-ce",40:"x-mac-ce",143:"x-mac-inuit",146:"x-mac-gaelic"};function ae(A,e,t){switch(A){case 0:return ne;case 1:return se[t]||re[e];case 3:if(1===e||10===e)return ne}}function oe(A){var e={};for(var t in A)e[A[t]]=parseInt(t);return e}function ge(A,e,t,i,n,r){return new Z.Record("NameRecord",[{name:"platformID",type:"USHORT",value:A},{name:"encodingID",type:"USHORT",value:e},{name:"languageID",type:"USHORT",value:t},{name:"nameID",type:"USHORT",value:i},{name:"length",type:"USHORT",value:n},{name:"offset",type:"USHORT",value:r}])}function Ie(A,e){var t=function(A,e){var t=A.length,i=e.length-t+1;A:for(var n=0;n<i;n++)for(;n<i;n++){for(var r=0;r<t;r++)if(e[n+r]!==A[r])continue A;return n}return-1}(A,e);if(t<0){t=e.length;for(var i=0,n=A.length;i<n;++i)e.push(A[i])}return t}var Ce=function(A,e,t){for(var i={},n=new sA.Parser(A,e),r=n.parseUShort(),s=n.parseUShort(),a=n.offset+n.parseUShort(),o=0;o<s;o++){var g=n.parseUShort(),I=n.parseUShort(),C=n.parseUShort(),Q=n.parseUShort(),c=$A[Q]||Q,B=n.parseUShort(),l=n.parseUShort(),u=ie(g,C,t),E=ae(g,I,C);if(void 0!==E&&void 0!==u){var f;if(f=E===ne?N.UTF16(A,a+l,B):N.MACSTRING(A,a+l,B,E)){var h=i[c];void 0===h&&(h=i[c]={}),h[u]=f}}}return 1===r&&n.parseUShort(),i},Qe=function(A,e){var t,i=[],n={},r=oe($A);for(var s in A){var a=r[s];if(void 0===a&&(a=s),t=parseInt(a),isNaN(t))throw new Error('Name table entry "'+s+'" does not exist, see nameTableNames for complete list.');n[t]=A[s],i.push(t)}for(var o=oe(Ae),g=oe(te),I=[],C=[],Q=0;Q<i.length;Q++){var c=n[t=i[Q]];for(var B in c){var l=c[B],u=1,E=o[B],f=ee[E],h=ae(u,f,E),p=U.MACSTRING(l,h);void 0===p&&(u=0,(E=e.indexOf(B))<0&&(E=e.length,e.push(B)),f=4,p=U.UTF16(l));var y=Ie(p,C);I.push(ge(u,f,E,t,p.length,y));var d=g[B];if(void 0!==d){var m=U.UTF16(l),b=Ie(m,C);I.push(ge(3,1,d,t,m.length,b))}}}I.sort((function(A,e){return A.platformID-e.platformID||A.encodingID-e.encodingID||A.languageID-e.languageID||A.nameID-e.nameID}));for(var D=new Z.Table("name",[{name:"format",type:"USHORT",value:0},{name:"count",type:"USHORT",value:I.length},{name:"stringOffset",type:"USHORT",value:6+12*I.length}]),S=0;S<I.length;S++)D.fields.push({name:"record_"+S,type:"RECORD",value:I[S]});return D.fields.push({name:"strings",type:"LITERAL",value:C}),D},ce=[{begin:0,end:127},{begin:128,end:255},{begin:256,end:383},{begin:384,end:591},{begin:592,end:687},{begin:688,end:767},{begin:768,end:879},{begin:880,end:1023},{begin:11392,end:11519},{begin:1024,end:1279},{begin:1328,end:1423},{begin:1424,end:1535},{begin:42240,end:42559},{begin:1536,end:1791},{begin:1984,end:2047},{begin:2304,end:2431},{begin:2432,end:2559},{begin:2560,end:2687},{begin:2688,end:2815},{begin:2816,end:2943},{begin:2944,end:3071},{begin:3072,end:3199},{begin:3200,end:3327},{begin:3328,end:3455},{begin:3584,end:3711},{begin:3712,end:3839},{begin:4256,end:4351},{begin:6912,end:7039},{begin:4352,end:4607},{begin:7680,end:7935},{begin:7936,end:8191},{begin:8192,end:8303},{begin:8304,end:8351},{begin:8352,end:8399},{begin:8400,end:8447},{begin:8448,end:8527},{begin:8528,end:8591},{begin:8592,end:8703},{begin:8704,end:8959},{begin:8960,end:9215},{begin:9216,end:9279},{begin:9280,end:9311},{begin:9312,end:9471},{begin:9472,end:9599},{begin:9600,end:9631},{begin:9632,end:9727},{begin:9728,end:9983},{begin:9984,end:10175},{begin:12288,end:12351},{begin:12352,end:12447},{begin:12448,end:12543},{begin:12544,end:12591},{begin:12592,end:12687},{begin:43072,end:43135},{begin:12800,end:13055},{begin:13056,end:13311},{begin:44032,end:55215},{begin:55296,end:57343},{begin:67840,end:67871},{begin:19968,end:40959},{begin:57344,end:63743},{begin:12736,end:12783},{begin:64256,end:64335},{begin:64336,end:65023},{begin:65056,end:65071},{begin:65040,end:65055},{begin:65104,end:65135},{begin:65136,end:65279},{begin:65280,end:65519},{begin:65520,end:65535},{begin:3840,end:4095},{begin:1792,end:1871},{begin:1920,end:1983},{begin:3456,end:3583},{begin:4096,end:4255},{begin:4608,end:4991},{begin:5024,end:5119},{begin:5120,end:5759},{begin:5760,end:5791},{begin:5792,end:5887},{begin:6016,end:6143},{begin:6144,end:6319},{begin:10240,end:10495},{begin:40960,end:42127},{begin:5888,end:5919},{begin:66304,end:66351},{begin:66352,end:66383},{begin:66560,end:66639},{begin:118784,end:119039},{begin:119808,end:120831},{begin:1044480,end:1048573},{begin:65024,end:65039},{begin:917504,end:917631},{begin:6400,end:6479},{begin:6480,end:6527},{begin:6528,end:6623},{begin:6656,end:6687},{begin:11264,end:11359},{begin:11568,end:11647},{begin:19904,end:19967},{begin:43008,end:43055},{begin:65536,end:65663},{begin:65856,end:65935},{begin:66432,end:66463},{begin:66464,end:66527},{begin:66640,end:66687},{begin:66688,end:66735},{begin:67584,end:67647},{begin:68096,end:68191},{begin:119552,end:119647},{begin:73728,end:74751},{begin:119648,end:119679},{begin:7040,end:7103},{begin:7168,end:7247},{begin:7248,end:7295},{begin:43136,end:43231},{begin:43264,end:43311},{begin:43312,end:43359},{begin:43520,end:43615},{begin:65936,end:65999},{begin:66e3,end:66047},{begin:66208,end:66271},{begin:127024,end:127135}],Be=function(A,e){var t={},i=new sA.Parser(A,e);t.version=i.parseUShort(),t.xAvgCharWidth=i.parseShort(),t.usWeightClass=i.parseUShort(),t.usWidthClass=i.parseUShort(),t.fsType=i.parseUShort(),t.ySubscriptXSize=i.parseShort(),t.ySubscriptYSize=i.parseShort(),t.ySubscriptXOffset=i.parseShort(),t.ySubscriptYOffset=i.parseShort(),t.ySuperscriptXSize=i.parseShort(),t.ySuperscriptYSize=i.parseShort(),t.ySuperscriptXOffset=i.parseShort(),t.ySuperscriptYOffset=i.parseShort(),t.yStrikeoutSize=i.parseShort(),t.yStrikeoutPosition=i.parseShort(),t.sFamilyClass=i.parseShort(),t.panose=[];for(var n=0;n<10;n++)t.panose[n]=i.parseByte();return t.ulUnicodeRange1=i.parseULong(),t.ulUnicodeRange2=i.parseULong(),t.ulUnicodeRange3=i.parseULong(),t.ulUnicodeRange4=i.parseULong(),t.achVendID=String.fromCharCode(i.parseByte(),i.parseByte(),i.parseByte(),i.parseByte()),t.fsSelection=i.parseUShort(),t.usFirstCharIndex=i.parseUShort(),t.usLastCharIndex=i.parseUShort(),t.sTypoAscender=i.parseShort(),t.sTypoDescender=i.parseShort(),t.sTypoLineGap=i.parseShort(),t.usWinAscent=i.parseUShort(),t.usWinDescent=i.parseUShort(),t.version>=1&&(t.ulCodePageRange1=i.parseULong(),t.ulCodePageRange2=i.parseULong()),t.version>=2&&(t.sxHeight=i.parseShort(),t.sCapHeight=i.parseShort(),t.usDefaultChar=i.parseUShort(),t.usBreakChar=i.parseUShort(),t.usMaxContent=i.parseUShort()),t},le=function(A){return new Z.Table("OS/2",[{name:"version",type:"USHORT",value:3},{name:"xAvgCharWidth",type:"SHORT",value:0},{name:"usWeightClass",type:"USHORT",value:0},{name:"usWidthClass",type:"USHORT",value:0},{name:"fsType",type:"USHORT",value:0},{name:"ySubscriptXSize",type:"SHORT",value:650},{name:"ySubscriptYSize",type:"SHORT",value:699},{name:"ySubscriptXOffset",type:"SHORT",value:0},{name:"ySubscriptYOffset",type:"SHORT",value:140},{name:"ySuperscriptXSize",type:"SHORT",value:650},{name:"ySuperscriptYSize",type:"SHORT",value:699},{name:"ySuperscriptXOffset",type:"SHORT",value:0},{name:"ySuperscriptYOffset",type:"SHORT",value:479},{name:"yStrikeoutSize",type:"SHORT",value:49},{name:"yStrikeoutPosition",type:"SHORT",value:258},{name:"sFamilyClass",type:"SHORT",value:0},{name:"bFamilyType",type:"BYTE",value:0},{name:"bSerifStyle",type:"BYTE",value:0},{name:"bWeight",type:"BYTE",value:0},{name:"bProportion",type:"BYTE",value:0},{name:"bContrast",type:"BYTE",value:0},{name:"bStrokeVariation",type:"BYTE",value:0},{name:"bArmStyle",type:"BYTE",value:0},{name:"bLetterform",type:"BYTE",value:0},{name:"bMidline",type:"BYTE",value:0},{name:"bXHeight",type:"BYTE",value:0},{name:"ulUnicodeRange1",type:"ULONG",value:0},{name:"ulUnicodeRange2",type:"ULONG",value:0},{name:"ulUnicodeRange3",type:"ULONG",value:0},{name:"ulUnicodeRange4",type:"ULONG",value:0},{name:"achVendID",type:"CHARARRAY",value:"XXXX"},{name:"fsSelection",type:"USHORT",value:0},{name:"usFirstCharIndex",type:"USHORT",value:0},{name:"usLastCharIndex",type:"USHORT",value:0},{name:"sTypoAscender",type:"SHORT",value:0},{name:"sTypoDescender",type:"SHORT",value:0},{name:"sTypoLineGap",type:"SHORT",value:0},{name:"usWinAscent",type:"USHORT",value:0},{name:"usWinDescent",type:"USHORT",value:0},{name:"ulCodePageRange1",type:"ULONG",value:0},{name:"ulCodePageRange2",type:"ULONG",value:0},{name:"sxHeight",type:"SHORT",value:0},{name:"sCapHeight",type:"SHORT",value:0},{name:"usDefaultChar",type:"USHORT",value:0},{name:"usBreakChar",type:"USHORT",value:0},{name:"usMaxContext",type:"USHORT",value:0}],A)},ue=function(A){for(var e=0;e<ce.length;e+=1){var t=ce[e];if(A>=t.begin&&A<t.end)return e}return-1},Ee=function(A,e){var t={},i=new sA.Parser(A,e);switch(t.version=i.parseVersion(),t.italicAngle=i.parseFixed(),t.underlinePosition=i.parseShort(),t.underlineThickness=i.parseShort(),t.isFixedPitch=i.parseULong(),t.minMemType42=i.parseULong(),t.maxMemType42=i.parseULong(),t.minMemType1=i.parseULong(),t.maxMemType1=i.parseULong(),t.version){case 1:t.names=cA.slice();break;case 2:t.numberOfGlyphs=i.parseUShort(),t.glyphNameIndex=new Array(t.numberOfGlyphs);for(var n=0;n<t.numberOfGlyphs;n++)t.glyphNameIndex[n]=i.parseUShort();t.names=[];for(var r=0;r<t.numberOfGlyphs;r++)if(t.glyphNameIndex[r]>=cA.length){var s=i.parseChar();t.names.push(i.parseString(s))}break;case 2.5:t.numberOfGlyphs=i.parseUShort(),t.offset=new Array(t.numberOfGlyphs);for(var a=0;a<t.numberOfGlyphs;a++)t.offset[a]=i.parseChar()}return t},fe=function(){return new Z.Table("post",[{name:"version",type:"FIXED",value:196608},{name:"italicAngle",type:"FIXED",value:0},{name:"underlinePosition",type:"FWORD",value:0},{name:"underlineThickness",type:"FWORD",value:0},{name:"isFixedPitch",type:"ULONG",value:0},{name:"minMemType42",type:"ULONG",value:0},{name:"maxMemType42",type:"ULONG",value:0},{name:"minMemType1",type:"ULONG",value:0},{name:"maxMemType1",type:"ULONG",value:0}])},he=new Array(9);he[1]=function(){var A=this.offset+this.relativeOffset,e=this.parseUShort();return 1===e?{substFormat:1,coverage:this.parsePointer(nA.coverage),deltaGlyphId:this.parseUShort()}:2===e?{substFormat:2,coverage:this.parsePointer(nA.coverage),substitute:this.parseOffset16List()}:void x.assert(!1,"0x"+A.toString(16)+": lookup type 1 format must be 1 or 2.")},he[2]=function(){var A=this.parseUShort();return x.argument(1===A,"GSUB Multiple Substitution Subtable identifier-format must be 1"),{substFormat:A,coverage:this.parsePointer(nA.coverage),sequences:this.parseListOfLists()}},he[3]=function(){var A=this.parseUShort();return x.argument(1===A,"GSUB Alternate Substitution Subtable identifier-format must be 1"),{substFormat:A,coverage:this.parsePointer(nA.coverage),alternateSets:this.parseListOfLists()}},he[4]=function(){var A=this.parseUShort();return x.argument(1===A,"GSUB ligature table identifier-format must be 1"),{substFormat:A,coverage:this.parsePointer(nA.coverage),ligatureSets:this.parseListOfLists((function(){return{ligGlyph:this.parseUShort(),components:this.parseUShortList(this.parseUShort()-1)}}))}};var pe={sequenceIndex:nA.uShort,lookupListIndex:nA.uShort};he[5]=function(){var A=this.offset+this.relativeOffset,e=this.parseUShort();if(1===e)return{substFormat:e,coverage:this.parsePointer(nA.coverage),ruleSets:this.parseListOfLists((function(){var A=this.parseUShort(),e=this.parseUShort();return{input:this.parseUShortList(A-1),lookupRecords:this.parseRecordList(e,pe)}}))};if(2===e)return{substFormat:e,coverage:this.parsePointer(nA.coverage),classDef:this.parsePointer(nA.classDef),classSets:this.parseListOfLists((function(){var A=this.parseUShort(),e=this.parseUShort();return{classes:this.parseUShortList(A-1),lookupRecords:this.parseRecordList(e,pe)}}))};if(3===e){var t=this.parseUShort(),i=this.parseUShort();return{substFormat:e,coverages:this.parseList(t,nA.pointer(nA.coverage)),lookupRecords:this.parseRecordList(i,pe)}}x.assert(!1,"0x"+A.toString(16)+": lookup type 5 format must be 1, 2 or 3.")},he[6]=function(){var A=this.offset+this.relativeOffset,e=this.parseUShort();return 1===e?{substFormat:1,coverage:this.parsePointer(nA.coverage),chainRuleSets:this.parseListOfLists((function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(pe)}}))}:2===e?{substFormat:2,coverage:this.parsePointer(nA.coverage),backtrackClassDef:this.parsePointer(nA.classDef),inputClassDef:this.parsePointer(nA.classDef),lookaheadClassDef:this.parsePointer(nA.classDef),chainClassSet:this.parseListOfLists((function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(pe)}}))}:3===e?{substFormat:3,backtrackCoverage:this.parseList(nA.pointer(nA.coverage)),inputCoverage:this.parseList(nA.pointer(nA.coverage)),lookaheadCoverage:this.parseList(nA.pointer(nA.coverage)),lookupRecords:this.parseRecordList(pe)}:void x.assert(!1,"0x"+A.toString(16)+": lookup type 6 format must be 1, 2 or 3.")},he[7]=function(){var A=this.parseUShort();x.argument(1===A,"GSUB Extension Substitution subtable identifier-format must be 1");var e=this.parseUShort(),t=new nA(this.data,this.offset+this.parseULong());return{substFormat:1,lookupType:e,extension:he[e].call(t)}},he[8]=function(){var A=this.parseUShort();return x.argument(1===A,"GSUB Reverse Chaining Contextual Single Substitution Subtable identifier-format must be 1"),{substFormat:A,coverage:this.parsePointer(nA.coverage),backtrackCoverage:this.parseList(nA.pointer(nA.coverage)),lookaheadCoverage:this.parseList(nA.pointer(nA.coverage)),substitutes:this.parseUShortList()}};var ye=new Array(9);ye[1]=function(A){return 1===A.substFormat?new Z.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new Z.Coverage(A.coverage)},{name:"deltaGlyphID",type:"USHORT",value:A.deltaGlyphId}]):new Z.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:2},{name:"coverage",type:"TABLE",value:new Z.Coverage(A.coverage)}].concat(Z.ushortList("substitute",A.substitute)))},ye[2]=function(A){return x.assert(1===A.substFormat,"Lookup type 2 substFormat must be 1."),new Z.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new Z.Coverage(A.coverage)}].concat(Z.tableList("seqSet",A.sequences,(function(A){return new Z.Table("sequenceSetTable",Z.ushortList("sequence",A))}))))},ye[3]=function(A){return x.assert(1===A.substFormat,"Lookup type 3 substFormat must be 1."),new Z.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new Z.Coverage(A.coverage)}].concat(Z.tableList("altSet",A.alternateSets,(function(A){return new Z.Table("alternateSetTable",Z.ushortList("alternate",A))}))))},ye[4]=function(A){return x.assert(1===A.substFormat,"Lookup type 4 substFormat must be 1."),new Z.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new Z.Coverage(A.coverage)}].concat(Z.tableList("ligSet",A.ligatureSets,(function(A){return new Z.Table("ligatureSetTable",Z.tableList("ligature",A,(function(A){return new Z.Table("ligatureTable",[{name:"ligGlyph",type:"USHORT",value:A.ligGlyph}].concat(Z.ushortList("component",A.components,A.components.length+1)))})))}))))},ye[6]=function(A){if(1===A.substFormat){var e=new Z.Table("chainContextTable",[{name:"substFormat",type:"USHORT",value:A.substFormat},{name:"coverage",type:"TABLE",value:new Z.Coverage(A.coverage)}].concat(Z.tableList("chainRuleSet",A.chainRuleSets,(function(A){return new Z.Table("chainRuleSetTable",Z.tableList("chainRule",A,(function(A){var e=Z.ushortList("backtrackGlyph",A.backtrack,A.backtrack.length).concat(Z.ushortList("inputGlyph",A.input,A.input.length+1)).concat(Z.ushortList("lookaheadGlyph",A.lookahead,A.lookahead.length)).concat(Z.ushortList("substitution",[],A.lookupRecords.length));return A.lookupRecords.forEach((function(A,t){e=e.concat({name:"sequenceIndex"+t,type:"USHORT",value:A.sequenceIndex}).concat({name:"lookupListIndex"+t,type:"USHORT",value:A.lookupListIndex})})),new Z.Table("chainRuleTable",e)})))}))));return e}if(2===A.substFormat)x.assert(!1,"lookup type 6 format 2 is not yet supported.");else if(3===A.substFormat){var t=[{name:"substFormat",type:"USHORT",value:A.substFormat}];return t.push({name:"backtrackGlyphCount",type:"USHORT",value:A.backtrackCoverage.length}),A.backtrackCoverage.forEach((function(A,e){t.push({name:"backtrackCoverage"+e,type:"TABLE",value:new Z.Coverage(A)})})),t.push({name:"inputGlyphCount",type:"USHORT",value:A.inputCoverage.length}),A.inputCoverage.forEach((function(A,e){t.push({name:"inputCoverage"+e,type:"TABLE",value:new Z.Coverage(A)})})),t.push({name:"lookaheadGlyphCount",type:"USHORT",value:A.lookaheadCoverage.length}),A.lookaheadCoverage.forEach((function(A,e){t.push({name:"lookaheadCoverage"+e,type:"TABLE",value:new Z.Coverage(A)})})),t.push({name:"substitutionCount",type:"USHORT",value:A.lookupRecords.length}),A.lookupRecords.forEach((function(A,e){t=t.concat({name:"sequenceIndex"+e,type:"USHORT",value:A.sequenceIndex}).concat({name:"lookupListIndex"+e,type:"USHORT",value:A.lookupListIndex})})),new Z.Table("chainContextTable",t)}x.assert(!1,"lookup type 6 format must be 1, 2 or 3.")};var de=function(A,e){var t=new nA(A,e=e||0),i=t.parseVersion(1);return x.argument(1===i||1.1===i,"Unsupported GSUB table version."),1===i?{version:i,scripts:t.parseScriptList(),features:t.parseFeatureList(),lookups:t.parseLookupList(he)}:{version:i,scripts:t.parseScriptList(),features:t.parseFeatureList(),lookups:t.parseLookupList(he),variations:t.parseFeatureVariationsList()}},me=function(A){return new Z.Table("GSUB",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new Z.ScriptList(A.scripts)},{name:"features",type:"TABLE",value:new Z.FeatureList(A.features)},{name:"lookups",type:"TABLE",value:new Z.LookupList(A.lookups,ye)}])},be=function(A,e){var t=new sA.Parser(A,e),i=t.parseULong();x.argument(1===i,"Unsupported META table version."),t.parseULong(),t.parseULong();for(var n=t.parseULong(),r={},s=0;s<n;s++){var a=t.parseTag(),o=t.parseULong(),g=t.parseULong(),I=N.UTF8(A,e+o,g);r[a]=I}return r},De=function(A){var e=Object.keys(A).length,t="",i=16+12*e,n=new Z.Table("meta",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"offset",type:"ULONG",value:i},{name:"numTags",type:"ULONG",value:e}]);for(var r in A){var s=t.length;t+=A[r],n.fields.push({name:"tag "+r,type:"TAG",value:r}),n.fields.push({name:"offset "+r,type:"ULONG",value:i+s}),n.fields.push({name:"length "+r,type:"ULONG",value:A[r].length})}return n.fields.push({name:"stringPool",type:"CHARARRAY",value:t}),n};function Se(A){return Math.log(A)/Math.log(2)|0}function we(A){for(;A.length%4!=0;)A.push(0);for(var e=0,t=0;t<A.length;t+=4)e+=(A[t]<<24)+(A[t+1]<<16)+(A[t+2]<<8)+A[t+3];return e%Math.pow(2,32)}function ve(A,e,t,i){return new Z.Record("Table Record",[{name:"tag",type:"TAG",value:void 0!==A?A:""},{name:"checkSum",type:"ULONG",value:void 0!==e?e:0},{name:"offset",type:"ULONG",value:void 0!==t?t:0},{name:"length",type:"ULONG",value:void 0!==i?i:0}])}function ke(A){var e=new Z.Table("sfnt",[{name:"version",type:"TAG",value:"OTTO"},{name:"numTables",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);e.tables=A,e.numTables=A.length;var t=Math.pow(2,Se(e.numTables));e.searchRange=16*t,e.entrySelector=Se(t),e.rangeShift=16*e.numTables-e.searchRange;for(var i=[],n=[],r=e.sizeOf()+ve().sizeOf()*e.numTables;r%4!=0;)r+=1,n.push({name:"padding",type:"BYTE",value:0});for(var s=0;s<A.length;s+=1){var a=A[s];x.argument(4===a.tableName.length,"Table name"+a.tableName+" is invalid.");var o=a.sizeOf(),g=ve(a.tableName,we(a.encode()),r,o);for(i.push({name:g.tag+" Table Record",type:"RECORD",value:g}),n.push({name:a.tableName+" table",type:"RECORD",value:a}),r+=o,x.argument(!isNaN(r),"Something went wrong calculating the offset.");r%4!=0;)r+=1,n.push({name:"padding",type:"BYTE",value:0})}return i.sort((function(A,e){return A.value.tag>e.value.tag?1:-1})),e.fields=e.fields.concat(i),e.fields=e.fields.concat(n),e}function xe(A,e,t){for(var i=0;i<e.length;i+=1){var n=A.charToGlyphIndex(e[i]);if(n>0)return A.glyphs.get(n).getMetrics()}return t}function Ge(A){for(var e=0,t=0;t<A.length;t+=1)e+=A[t];return e/A.length}var Ne=function(A){for(var e,t=[],i=[],n=[],r=[],s=[],a=[],o=[],g=0,I=0,C=0,Q=0,c=0,B=0;B<A.glyphs.length;B+=1){var l=A.glyphs.get(B),u=0|l.unicode;if(isNaN(l.advanceWidth))throw new Error("Glyph "+l.name+" ("+B+"): advanceWidth is not a number.");(e>u||void 0===e)&&u>0&&(e=u),g<u&&(g=u);var E=ue(u);if(E<32)I|=1<<E;else if(E<64)C|=1<<E-32;else if(E<96)Q|=1<<E-64;else{if(!(E<123))throw new Error("Unicode ranges bits > 123 are reserved for internal usage");c|=1<<E-96}if(".notdef"!==l.name){var f=l.getMetrics();t.push(f.xMin),i.push(f.yMin),n.push(f.xMax),r.push(f.yMax),a.push(f.leftSideBearing),o.push(f.rightSideBearing),s.push(l.advanceWidth)}}var h={xMin:Math.min.apply(null,t),yMin:Math.min.apply(null,i),xMax:Math.max.apply(null,n),yMax:Math.max.apply(null,r),advanceWidthMax:Math.max.apply(null,s),advanceWidthAvg:Ge(s),minLeftSideBearing:Math.min.apply(null,a),maxLeftSideBearing:Math.max.apply(null,a),minRightSideBearing:Math.min.apply(null,o)};h.ascender=A.ascender,h.descender=A.descender;var p=YA({flags:3,unitsPerEm:A.unitsPerEm,xMin:h.xMin,yMin:h.yMin,xMax:h.xMax,yMax:h.yMax,lowestRecPPEM:3,createdTimestamp:A.createdTimestamp}),y=PA({ascender:h.ascender,descender:h.descender,advanceWidthMax:h.advanceWidthMax,minLeftSideBearing:h.minLeftSideBearing,minRightSideBearing:h.minRightSideBearing,xMaxExtent:h.maxLeftSideBearing+(h.xMax-h.xMin),numberOfHMetrics:A.glyphs.length}),d=ZA(A.glyphs.length),m=le(Object.assign({xAvgCharWidth:Math.round(h.advanceWidthAvg),usFirstCharIndex:e,usLastCharIndex:g,ulUnicodeRange1:I,ulUnicodeRange2:C,ulUnicodeRange3:Q,ulUnicodeRange4:c,sTypoAscender:h.ascender,sTypoDescender:h.descender,sTypoLineGap:0,usWinAscent:h.yMax,usWinDescent:Math.abs(h.yMin),ulCodePageRange1:1,sxHeight:xe(A,"xyvw",{yMax:Math.round(h.ascender/2)}).yMax,sCapHeight:xe(A,"HIKLEFJMNTZBDPRAGOQSUVWXY",h).yMax,usDefaultChar:A.hasChar(" ")?32:0,usBreakChar:A.hasChar(" ")?32:0},A.tables.os2)),b=VA(A.glyphs),D=gA(A.glyphs),S=A.getEnglishName("fontFamily"),w=A.getEnglishName("fontSubfamily"),v=S+" "+w,k=A.getEnglishName("postScriptName");k||(k=S.replace(/\s/g,"")+"-"+w);var x={};for(var G in A.names)x[G]=A.names[G];x.uniqueID||(x.uniqueID={en:A.getEnglishName("manufacturer")+":"+v}),x.postScriptName||(x.postScriptName={en:k}),x.preferredFamily||(x.preferredFamily=A.names.fontFamily),x.preferredSubfamily||(x.preferredSubfamily=A.names.fontSubfamily);var N=[],U=Qe(x,N),F=N.length>0?WA(N):void 0,M=fe(),R=KA(A.glyphs,{version:A.getEnglishName("version"),fullName:v,familyName:S,weightName:w,postScriptName:k,unitsPerEm:A.unitsPerEm,fontBBox:[0,h.yMin,h.ascender,h.advanceWidthMax]}),L=A.metas&&Object.keys(A.metas).length>0?De(A.metas):void 0,z=[p,y,d,m,U,D,M,R,b];F&&z.push(F),A.tables.gsub&&z.push(me(A.tables.gsub)),L&&z.push(L);for(var J=ke(z),q=we(J.encode()),O=J.fields,K=!1,T=0;T<O.length;T+=1)if("head table"===O[T].name){O[T].value.checkSumAdjustment=2981146554-q,K=!0;break}if(!K)throw new Error("Could not find head table with checkSum to adjust.");return J};function Ue(A,e){for(var t=0,i=A.length-1;t<=i;){var n=t+i>>>1,r=A[n].tag;if(r===e)return n;r<e?t=n+1:i=n-1}return-t-1}function Fe(A,e){for(var t=0,i=A.length-1;t<=i;){var n=t+i>>>1,r=A[n];if(r===e)return n;r<e?t=n+1:i=n-1}return-t-1}function Me(A,e){for(var t,i=0,n=A.length-1;i<=n;){var r=i+n>>>1,s=(t=A[r]).start;if(s===e)return t;s<e?i=r+1:n=r-1}if(i>0)return e>(t=A[i-1]).end?0:t}function Re(A,e){this.font=A,this.tableName=e}function Le(A){Re.call(this,A,"gpos")}function ze(A){Re.call(this,A,"gsub")}function Je(A,e){var t=A.length;if(t!==e.length)return!1;for(var i=0;i<t;i++)if(A[i]!==e[i])return!1;return!0}function qe(A,e,t){for(var i=A.subtables,n=0;n<i.length;n++){var r=i[n];if(r.substFormat===e)return r}if(t)return i.push(t),t}function Oe(A){for(var e=new ArrayBuffer(A.length),t=new Uint8Array(e),i=0;i<A.length;++i)t[i]=A[i];return e}function Ke(A,e){if(!A)throw e}function Te(A,e,t,i,n){var r;return(e&i)>0?(r=A.parseByte(),e&n||(r=-r),r=t+r):r=(e&n)>0?t:t+A.parseShort(),r}function Ye(A,e,t){var i,n,r=new sA.Parser(e,t);if(A.numberOfContours=r.parseShort(),A._xMin=r.parseShort(),A._yMin=r.parseShort(),A._xMax=r.parseShort(),A._yMax=r.parseShort(),A.numberOfContours>0){for(var s=A.endPointIndices=[],a=0;a<A.numberOfContours;a+=1)s.push(r.parseUShort());A.instructionLength=r.parseUShort(),A.instructions=[];for(var o=0;o<A.instructionLength;o+=1)A.instructions.push(r.parseByte());var g=s[s.length-1]+1;i=[];for(var I=0;I<g;I+=1)if(n=r.parseByte(),i.push(n),(8&n)>0)for(var C=r.parseByte(),Q=0;Q<C;Q+=1)i.push(n),I+=1;if(x.argument(i.length===g,"Bad flags."),s.length>0){var c,B=[];if(g>0){for(var l=0;l<g;l+=1)n=i[l],(c={}).onCurve=!!(1&n),c.lastPointOfContour=s.indexOf(l)>=0,B.push(c);for(var u=0,E=0;E<g;E+=1)n=i[E],(c=B[E]).x=Te(r,n,u,2,16),u=c.x;for(var f=0,h=0;h<g;h+=1)n=i[h],(c=B[h]).y=Te(r,n,f,4,32),f=c.y}A.points=B}else A.points=[]}else if(0===A.numberOfContours)A.points=[];else{A.isComposite=!0,A.points=[],A.components=[];for(var p=!0;p;){i=r.parseUShort();var y={glyphIndex:r.parseUShort(),xScale:1,scale01:0,scale10:0,yScale:1,dx:0,dy:0};(1&i)>0?(2&i)>0?(y.dx=r.parseShort(),y.dy=r.parseShort()):y.matchedPoints=[r.parseUShort(),r.parseUShort()]:(2&i)>0?(y.dx=r.parseChar(),y.dy=r.parseChar()):y.matchedPoints=[r.parseByte(),r.parseByte()],(8&i)>0?y.xScale=y.yScale=r.parseF2Dot14():(64&i)>0?(y.xScale=r.parseF2Dot14(),y.yScale=r.parseF2Dot14()):(128&i)>0&&(y.xScale=r.parseF2Dot14(),y.scale01=r.parseF2Dot14(),y.scale10=r.parseF2Dot14(),y.yScale=r.parseF2Dot14()),A.components.push(y),p=!!(32&i)}if(256&i){A.instructionLength=r.parseUShort(),A.instructions=[];for(var d=0;d<A.instructionLength;d+=1)A.instructions.push(r.parseByte())}}}function He(A,e){for(var t=[],i=0;i<A.length;i+=1){var n=A[i],r={x:e.xScale*n.x+e.scale01*n.y+e.dx,y:e.scale10*n.x+e.yScale*n.y+e.dy,onCurve:n.onCurve,lastPointOfContour:n.lastPointOfContour};t.push(r)}return t}function Pe(A){var e=new w;if(!A)return e;for(var t=function(A){for(var e=[],t=[],i=0;i<A.length;i+=1){var n=A[i];t.push(n),n.lastPointOfContour&&(e.push(t),t=[])}return x.argument(0===t.length,"There are still points left in the current contour."),e}(A),i=0;i<t.length;++i){var n=t[i],r=null,s=n[n.length-1],a=n[0];if(s.onCurve)e.moveTo(s.x,s.y);else if(a.onCurve)e.moveTo(a.x,a.y);else{var o={x:.5*(s.x+a.x),y:.5*(s.y+a.y)};e.moveTo(o.x,o.y)}for(var g=0;g<n.length;++g)if(r=s,s=a,a=n[(g+1)%n.length],s.onCurve)e.lineTo(s.x,s.y);else{var I=a;r.onCurve||(s.x,r.x,s.y,r.y),a.onCurve||(I={x:.5*(s.x+a.x),y:.5*(s.y+a.y)}),e.quadraticCurveTo(s.x,s.y,I.x,I.y)}e.closePath()}return e}function _e(A,e){if(e.isComposite)for(var t=0;t<e.components.length;t+=1){var i=e.components[t],n=A.get(i.glyphIndex);if(n.getPath(),n.points){var r=void 0;if(void 0===i.matchedPoints)r=He(n.points,i);else{if(i.matchedPoints[0]>e.points.length-1||i.matchedPoints[1]>n.points.length-1)throw Error("Matched points out of range in "+e.name);var s=e.points[i.matchedPoints[0]],a=n.points[i.matchedPoints[1]],o={xScale:i.xScale,scale01:i.scale01,scale10:i.scale10,yScale:i.yScale,dx:0,dy:0};a=He([a],o)[0],o.dx=s.x-a.x,o.dy=s.y-a.y,r=He(n.points,o)}e.points=e.points.concat(r)}}return Pe(e.points)}Re.prototype={searchTag:Ue,binSearch:Fe,getTable:function(A){var e=this.font.tables[this.tableName];return!e&&A&&(e=this.font.tables[this.tableName]=this.createDefaultTable()),e},getScriptNames:function(){var A=this.getTable();return A?A.scripts.map((function(A){return A.tag})):[]},getDefaultScriptName:function(){var A=this.getTable();if(A){for(var e=!1,t=0;t<A.scripts.length;t++){var i=A.scripts[t].tag;if("DFLT"===i)return i;"latn"===i&&(e=!0)}return e?"latn":void 0}},getScriptTable:function(A,e){var t=this.getTable(e);if(t){A=A||"DFLT";var i=t.scripts,n=Ue(t.scripts,A);if(n>=0)return i[n].script;if(e){var r={tag:A,script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}};return i.splice(-1-n,0,r),r.script}}},getLangSysTable:function(A,e,t){var i=this.getScriptTable(A,t);if(i){if(!e||"dflt"===e||"DFLT"===e)return i.defaultLangSys;var n=Ue(i.langSysRecords,e);if(n>=0)return i.langSysRecords[n].langSys;if(t){var r={tag:e,langSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]}};return i.langSysRecords.splice(-1-n,0,r),r.langSys}}},getFeatureTable:function(A,e,t,i){var n=this.getLangSysTable(A,e,i);if(n){for(var r,s=n.featureIndexes,a=this.font.tables[this.tableName].features,o=0;o<s.length;o++)if((r=a[s[o]]).tag===t)return r.feature;if(i){var g=a.length;return x.assert(0===g||t>=a[g-1].tag,"Features must be added in alphabetical order."),r={tag:t,feature:{params:0,lookupListIndexes:[]}},a.push(r),s.push(g),r.feature}}},getLookupTables:function(A,e,t,i,n){var r=this.getFeatureTable(A,e,t,n),s=[];if(r){for(var a,o=r.lookupListIndexes,g=this.font.tables[this.tableName].lookups,I=0;I<o.length;I++)(a=g[o[I]]).lookupType===i&&s.push(a);if(0===s.length&&n){a={lookupType:i,lookupFlag:0,subtables:[],markFilteringSet:void 0};var C=g.length;return g.push(a),o.push(C),[a]}}return s},getGlyphClass:function(A,e){switch(A.format){case 1:return A.startGlyph<=e&&e<A.startGlyph+A.classes.length?A.classes[e-A.startGlyph]:0;case 2:var t=Me(A.ranges,e);return t?t.classId:0}},getCoverageIndex:function(A,e){switch(A.format){case 1:var t=Fe(A.glyphs,e);return t>=0?t:-1;case 2:var i=Me(A.ranges,e);return i?i.index+e-i.start:-1}},expandCoverage:function(A){if(1===A.format)return A.glyphs;for(var e=[],t=A.ranges,i=0;i<t.length;i++)for(var n=t[i],r=n.start,s=n.end,a=r;a<=s;a++)e.push(a);return e}},Le.prototype=Re.prototype,Le.prototype.init=function(){var A=this.getDefaultScriptName();this.defaultKerningTables=this.getKerningTables(A)},Le.prototype.getKerningValue=function(A,e,t){for(var i=0;i<A.length;i++)for(var n=A[i].subtables,r=0;r<n.length;r++){var s=n[r],a=this.getCoverageIndex(s.coverage,e);if(!(a<0))switch(s.posFormat){case 1:for(var o=s.pairSets[a],g=0;g<o.length;g++){var I=o[g];if(I.secondGlyph===t)return I.value1&&I.value1.xAdvance||0}break;case 2:var C=this.getGlyphClass(s.classDef1,e),Q=this.getGlyphClass(s.classDef2,t),c=s.classRecords[C][Q];return c.value1&&c.value1.xAdvance||0}}return 0},Le.prototype.getKerningTables=function(A,e){if(this.font.tables.gpos)return this.getLookupTables(A,e,"kern",2)},ze.prototype=Re.prototype,ze.prototype.createDefaultTable=function(){return{version:1,scripts:[{tag:"DFLT",script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}}],features:[],lookups:[]}},ze.prototype.getSingle=function(A,e,t){for(var i=[],n=this.getLookupTables(e,t,A,1),r=0;r<n.length;r++)for(var s=n[r].subtables,a=0;a<s.length;a++){var o=s[a],g=this.expandCoverage(o.coverage),I=void 0;if(1===o.substFormat){var C=o.deltaGlyphId;for(I=0;I<g.length;I++){var Q=g[I];i.push({sub:Q,by:Q+C})}}else{var c=o.substitute;for(I=0;I<g.length;I++)i.push({sub:g[I],by:c[I]})}}return i},ze.prototype.getMultiple=function(A,e,t){for(var i=[],n=this.getLookupTables(e,t,A,2),r=0;r<n.length;r++)for(var s=n[r].subtables,a=0;a<s.length;a++){var o=s[a],g=this.expandCoverage(o.coverage),I=void 0;for(I=0;I<g.length;I++){var C=g[I],Q=o.sequences[I];i.push({sub:C,by:Q})}}return i},ze.prototype.getAlternates=function(A,e,t){for(var i=[],n=this.getLookupTables(e,t,A,3),r=0;r<n.length;r++)for(var s=n[r].subtables,a=0;a<s.length;a++)for(var o=s[a],g=this.expandCoverage(o.coverage),I=o.alternateSets,C=0;C<g.length;C++)i.push({sub:g[C],by:I[C]});return i},ze.prototype.getLigatures=function(A,e,t){for(var i=[],n=this.getLookupTables(e,t,A,4),r=0;r<n.length;r++)for(var s=n[r].subtables,a=0;a<s.length;a++)for(var o=s[a],g=this.expandCoverage(o.coverage),I=o.ligatureSets,C=0;C<g.length;C++)for(var Q=g[C],c=I[C],B=0;B<c.length;B++){var l=c[B];i.push({sub:[Q].concat(l.components),by:l.ligGlyph})}return i},ze.prototype.addSingle=function(A,e,t,i){var n=qe(this.getLookupTables(t,i,A,1,!0)[0],2,{substFormat:2,coverage:{format:1,glyphs:[]},substitute:[]});x.assert(1===n.coverage.format,"Single: unable to modify coverage table format "+n.coverage.format);var r=e.sub,s=this.binSearch(n.coverage.glyphs,r);s<0&&(s=-1-s,n.coverage.glyphs.splice(s,0,r),n.substitute.splice(s,0,0)),n.substitute[s]=e.by},ze.prototype.addMultiple=function(A,e,t,i){x.assert(e.by instanceof Array&&e.by.length>1,'Multiple: "by" must be an array of two or more ids');var n=qe(this.getLookupTables(t,i,A,2,!0)[0],1,{substFormat:1,coverage:{format:1,glyphs:[]},sequences:[]});x.assert(1===n.coverage.format,"Multiple: unable to modify coverage table format "+n.coverage.format);var r=e.sub,s=this.binSearch(n.coverage.glyphs,r);s<0&&(s=-1-s,n.coverage.glyphs.splice(s,0,r),n.sequences.splice(s,0,0)),n.sequences[s]=e.by},ze.prototype.addAlternate=function(A,e,t,i){var n=qe(this.getLookupTables(t,i,A,3,!0)[0],1,{substFormat:1,coverage:{format:1,glyphs:[]},alternateSets:[]});x.assert(1===n.coverage.format,"Alternate: unable to modify coverage table format "+n.coverage.format);var r=e.sub,s=this.binSearch(n.coverage.glyphs,r);s<0&&(s=-1-s,n.coverage.glyphs.splice(s,0,r),n.alternateSets.splice(s,0,0)),n.alternateSets[s]=e.by},ze.prototype.addLigature=function(A,e,t,i){var n=this.getLookupTables(t,i,A,4,!0)[0],r=n.subtables[0];r||(r={substFormat:1,coverage:{format:1,glyphs:[]},ligatureSets:[]},n.subtables[0]=r),x.assert(1===r.coverage.format,"Ligature: unable to modify coverage table format "+r.coverage.format);var s=e.sub[0],a=e.sub.slice(1),o={ligGlyph:e.by,components:a},g=this.binSearch(r.coverage.glyphs,s);if(g>=0){for(var I=r.ligatureSets[g],C=0;C<I.length;C++)if(Je(I[C].components,a))return;I.push(o)}else g=-1-g,r.coverage.glyphs.splice(g,0,s),r.ligatureSets.splice(g,0,[o])},ze.prototype.getFeature=function(A,e,t){if(/ss\d\d/.test(A))return this.getSingle(A,e,t);switch(A){case"aalt":case"salt":return this.getSingle(A,e,t).concat(this.getAlternates(A,e,t));case"dlig":case"liga":case"rlig":return this.getLigatures(A,e,t);case"ccmp":return this.getMultiple(A,e,t).concat(this.getLigatures(A,e,t));case"stch":return this.getMultiple(A,e,t)}},ze.prototype.add=function(A,e,t,i){if(/ss\d\d/.test(A))return this.addSingle(A,e,t,i);switch(A){case"aalt":case"salt":return"number"==typeof e.by?this.addSingle(A,e,t,i):this.addAlternate(A,e,t,i);case"dlig":case"liga":case"rlig":return this.addLigature(A,e,t,i);case"ccmp":return e.by instanceof Array?this.addMultiple(A,e,t,i):this.addLigature(A,e,t,i)}};var Ve,We,Xe,je,Ze={getPath:Pe,parse:function(A,e,t,i,n){return n.lowMemory?function(A,e,t,i){var n=new dA.GlyphSet(i);return i._push=function(r){var s=t[r];s!==t[r+1]?n.push(r,dA.ttfGlyphLoader(i,r,Ye,A,e+s,_e)):n.push(r,dA.glyphLoader(i,r))},n}(A,e,t,i):function(A,e,t,i){for(var n=new dA.GlyphSet(i),r=0;r<t.length-1;r+=1){var s=t[r];s!==t[r+1]?n.push(r,dA.ttfGlyphLoader(i,r,Ye,A,e+s,_e)):n.push(r,dA.glyphLoader(i,r))}return n}(A,e,t,i)}};function $e(A){this.font=A,this.getCommands=function(A){return Ze.getPath(A).commands},this._fpgmState=this._prepState=void 0,this._errorState=0}function At(A){return A}function et(A){return Math.sign(A)*Math.round(Math.abs(A))}function tt(A){return Math.sign(A)*Math.round(Math.abs(2*A))/2}function it(A){return Math.sign(A)*(Math.round(Math.abs(A)+.5)-.5)}function nt(A){return Math.sign(A)*Math.ceil(Math.abs(A))}function rt(A){return Math.sign(A)*Math.floor(Math.abs(A))}var st=function(A){var e=this.srPeriod,t=this.srPhase,i=1;return A<0&&(A=-A,i=-1),A+=this.srThreshold-t,A=Math.trunc(A/e)*e,(A+=t)<0?t*i:A*i},at={x:1,y:0,axis:"x",distance:function(A,e,t,i){return(t?A.xo:A.x)-(i?e.xo:e.x)},interpolate:function(A,e,t,i){var n,r,s,a,o,g,I;if(!i||i===this)return n=A.xo-e.xo,r=A.xo-t.xo,o=e.x-e.xo,g=t.x-t.xo,0===(I=(s=Math.abs(n))+(a=Math.abs(r)))?void(A.x=A.xo+(o+g)/2):void(A.x=A.xo+(o*a+g*s)/I);n=i.distance(A,e,!0,!0),r=i.distance(A,t,!0,!0),o=i.distance(e,e,!1,!0),g=i.distance(t,t,!1,!0),0!==(I=(s=Math.abs(n))+(a=Math.abs(r)))?at.setRelative(A,A,(o*a+g*s)/I,i,!0):at.setRelative(A,A,(o+g)/2,i,!0)},normalSlope:Number.NEGATIVE_INFINITY,setRelative:function(A,e,t,i,n){if(i&&i!==this){var r=n?e.xo:e.x,s=n?e.yo:e.y,a=r+t*i.x,o=s+t*i.y;A.x=a+(A.y-o)/i.normalSlope}else A.x=(n?e.xo:e.x)+t},slope:0,touch:function(A){A.xTouched=!0},touched:function(A){return A.xTouched},untouch:function(A){A.xTouched=!1}},ot={x:0,y:1,axis:"y",distance:function(A,e,t,i){return(t?A.yo:A.y)-(i?e.yo:e.y)},interpolate:function(A,e,t,i){var n,r,s,a,o,g,I;if(!i||i===this)return n=A.yo-e.yo,r=A.yo-t.yo,o=e.y-e.yo,g=t.y-t.yo,0===(I=(s=Math.abs(n))+(a=Math.abs(r)))?void(A.y=A.yo+(o+g)/2):void(A.y=A.yo+(o*a+g*s)/I);n=i.distance(A,e,!0,!0),r=i.distance(A,t,!0,!0),o=i.distance(e,e,!1,!0),g=i.distance(t,t,!1,!0),0!==(I=(s=Math.abs(n))+(a=Math.abs(r)))?ot.setRelative(A,A,(o*a+g*s)/I,i,!0):ot.setRelative(A,A,(o+g)/2,i,!0)},normalSlope:0,setRelative:function(A,e,t,i,n){if(i&&i!==this){var r=n?e.xo:e.x,s=n?e.yo:e.y,a=r+t*i.x,o=s+t*i.y;A.y=o+i.normalSlope*(A.x-a)}else A.y=(n?e.yo:e.y)+t},slope:Number.POSITIVE_INFINITY,touch:function(A){A.yTouched=!0},touched:function(A){return A.yTouched},untouch:function(A){A.yTouched=!1}};function gt(A,e){this.x=A,this.y=e,this.axis=void 0,this.slope=e/A,this.normalSlope=-A/e,Object.freeze(this)}function It(A,e){var t=Math.sqrt(A*A+e*e);return e/=t,1==(A/=t)&&0===e?at:0===A&&1===e?ot:new gt(A,e)}function Ct(A,e,t,i){this.x=this.xo=Math.round(64*A)/64,this.y=this.yo=Math.round(64*e)/64,this.lastPointOfContour=t,this.onCurve=i,this.prevPointOnContour=void 0,this.nextPointOnContour=void 0,this.xTouched=!1,this.yTouched=!1,Object.preventExtensions(this)}Object.freeze(at),Object.freeze(ot),gt.prototype.distance=function(A,e,t,i){return this.x*at.distance(A,e,t,i)+this.y*ot.distance(A,e,t,i)},gt.prototype.interpolate=function(A,e,t,i){var n,r,s,a,o,g,I;s=i.distance(A,e,!0,!0),a=i.distance(A,t,!0,!0),n=i.distance(e,e,!1,!0),r=i.distance(t,t,!1,!0),0!==(I=(o=Math.abs(s))+(g=Math.abs(a)))?this.setRelative(A,A,(n*g+r*o)/I,i,!0):this.setRelative(A,A,(n+r)/2,i,!0)},gt.prototype.setRelative=function(A,e,t,i,n){i=i||this;var r=n?e.xo:e.x,s=n?e.yo:e.y,a=r+t*i.x,o=s+t*i.y,g=i.normalSlope,I=this.slope,C=A.x,Q=A.y;A.x=(I*C-g*a+o-Q)/(I-g),A.y=I*(A.x-C)+Q},gt.prototype.touch=function(A){A.xTouched=!0,A.yTouched=!0},Ct.prototype.nextTouched=function(A){for(var e=this.nextPointOnContour;!A.touched(e)&&e!==this;)e=e.nextPointOnContour;return e},Ct.prototype.prevTouched=function(A){for(var e=this.prevPointOnContour;!A.touched(e)&&e!==this;)e=e.prevPointOnContour;return e};var Qt=Object.freeze(new Ct(0,0)),ct={cvCutIn:17/16,deltaBase:9,deltaShift:.125,loop:1,minDis:1,autoFlip:!0};function Bt(A,e){switch(this.env=A,this.stack=[],this.prog=e,A){case"glyf":this.zp0=this.zp1=this.zp2=1,this.rp0=this.rp1=this.rp2=0;case"prep":this.fv=this.pv=this.dpv=at,this.round=et}}function lt(A){for(var e=A.tZone=new Array(A.gZone.length),t=0;t<e.length;t++)e[t]=new Ct(0,0)}function ut(A,e){var t,i=A.prog,n=A.ip,r=1;do{if(88===(t=i[++n]))r++;else if(89===t)r--;else if(64===t)n+=i[n+1]+1;else if(65===t)n+=2*i[n+1]+1;else if(t>=176&&t<=183)n+=t-176+1;else if(t>=184&&t<=191)n+=2*(t-184+1);else if(e&&1===r&&27===t)break}while(r>0);A.ip=n}function Et(A,e){exports.DEBUG&&console.log(e.step,"SVTCA["+A.axis+"]"),e.fv=e.pv=e.dpv=A}function ft(A,e){exports.DEBUG&&console.log(e.step,"SPVTCA["+A.axis+"]"),e.pv=e.dpv=A}function ht(A,e){exports.DEBUG&&console.log(e.step,"SFVTCA["+A.axis+"]"),e.fv=A}function pt(A,e){var t,i,n=e.stack,r=n.pop(),s=n.pop(),a=e.z2[r],o=e.z1[s];exports.DEBUG&&console.log("SPVTL["+A+"]",r,s),A?(t=a.y-o.y,i=o.x-a.x):(t=o.x-a.x,i=o.y-a.y),e.pv=e.dpv=It(t,i)}function yt(A,e){var t,i,n=e.stack,r=n.pop(),s=n.pop(),a=e.z2[r],o=e.z1[s];exports.DEBUG&&console.log("SFVTL["+A+"]",r,s),A?(t=a.y-o.y,i=o.x-a.x):(t=o.x-a.x,i=o.y-a.y),e.fv=It(t,i)}function dt(A){exports.DEBUG&&console.log(A.step,"POP[]"),A.stack.pop()}function mt(A,e){var t=e.stack.pop(),i=e.z0[t],n=e.fv,r=e.pv;exports.DEBUG&&console.log(e.step,"MDAP["+A+"]",t);var s=r.distance(i,Qt);A&&(s=e.round(s)),n.setRelative(i,Qt,s,r),n.touch(i),e.rp0=e.rp1=t}function bt(A,e){var t,i,n,r=e.z2,s=r.length-2;exports.DEBUG&&console.log(e.step,"IUP["+A.axis+"]");for(var a=0;a<s;a++)t=r[a],A.touched(t)||(i=t.prevTouched(A))!==t&&(i===(n=t.nextTouched(A))&&A.setRelative(t,t,A.distance(i,i,!1,!0),A,!0),A.interpolate(t,i,n,A))}function Dt(A,e){for(var t=e.stack,i=A?e.rp1:e.rp2,n=(A?e.z0:e.z1)[i],r=e.fv,s=e.pv,a=e.loop,o=e.z2;a--;){var g=t.pop(),I=o[g],C=s.distance(n,n,!1,!0);r.setRelative(I,I,C,s),r.touch(I),exports.DEBUG&&console.log(e.step,(e.loop>1?"loop "+(e.loop-a)+": ":"")+"SHP["+(A?"rp1":"rp2")+"]",g)}e.loop=1}function St(A,e){var t=e.stack,i=A?e.rp1:e.rp2,n=(A?e.z0:e.z1)[i],r=e.fv,s=e.pv,a=t.pop(),o=e.z2[e.contours[a]],g=o;exports.DEBUG&&console.log(e.step,"SHC["+A+"]",a);var I=s.distance(n,n,!1,!0);do{g!==n&&r.setRelative(g,g,I,s),g=g.nextPointOnContour}while(g!==o)}function wt(A,e){var t,i,n=e.stack,r=A?e.rp1:e.rp2,s=(A?e.z0:e.z1)[r],a=e.fv,o=e.pv,g=n.pop();switch(exports.DEBUG&&console.log(e.step,"SHZ["+A+"]",g),g){case 0:t=e.tZone;break;case 1:t=e.gZone;break;default:throw new Error("Invalid zone")}for(var I=o.distance(s,s,!1,!0),C=t.length-2,Q=0;Q<C;Q++)i=t[Q],a.setRelative(i,i,I,o)}function vt(A,e){var t=e.stack,i=t.pop()/64,n=t.pop(),r=e.z1[n],s=e.z0[e.rp0],a=e.fv,o=e.pv;a.setRelative(r,s,i,o),a.touch(r),exports.DEBUG&&console.log(e.step,"MSIRP["+A+"]",i,n),e.rp1=e.rp0,e.rp2=n,A&&(e.rp0=n)}function kt(A,e){var t=e.stack,i=t.pop(),n=t.pop(),r=e.z0[n],s=e.fv,a=e.pv,o=e.cvt[i];exports.DEBUG&&console.log(e.step,"MIAP["+A+"]",i,"(",o,")",n);var g=a.distance(r,Qt);A&&(Math.abs(g-o)<e.cvCutIn&&(g=o),g=e.round(g)),s.setRelative(r,Qt,g,a),0===e.zp0&&(r.xo=r.x,r.yo=r.y),s.touch(r),e.rp0=e.rp1=n}function xt(A,e){var t=e.stack,i=t.pop(),n=e.z2[i];exports.DEBUG&&console.log(e.step,"GC["+A+"]",i),t.push(64*e.dpv.distance(n,Qt,A,!1))}function Gt(A,e){var t=e.stack,i=t.pop(),n=t.pop(),r=e.z1[i],s=e.z0[n],a=e.dpv.distance(s,r,A,A);exports.DEBUG&&console.log(e.step,"MD["+A+"]",i,n,"->",a),e.stack.push(Math.round(64*a))}function Nt(A,e){var t=e.stack,i=t.pop(),n=e.fv,r=e.pv,s=e.ppem,a=e.deltaBase+16*(A-1),o=e.deltaShift,g=e.z0;exports.DEBUG&&console.log(e.step,"DELTAP["+A+"]",i,t);for(var I=0;I<i;I++){var C=t.pop(),Q=t.pop();if(a+((240&Q)>>4)===s){var c=(15&Q)-8;c>=0&&c++,exports.DEBUG&&console.log(e.step,"DELTAPFIX",C,"by",c*o);var B=g[C];n.setRelative(B,B,c*o,r)}}}function Ut(A,e){var t=e.stack,i=t.pop();exports.DEBUG&&console.log(e.step,"ROUND[]"),t.push(64*e.round(i/64))}function Ft(A,e){var t=e.stack,i=t.pop(),n=e.ppem,r=e.deltaBase+16*(A-1),s=e.deltaShift;exports.DEBUG&&console.log(e.step,"DELTAC["+A+"]",i,t);for(var a=0;a<i;a++){var o=t.pop(),g=t.pop();if(r+((240&g)>>4)===n){var I=(15&g)-8;I>=0&&I++;var C=I*s;exports.DEBUG&&console.log(e.step,"DELTACFIX",o,"by",C),e.cvt[o]+=C}}}function Mt(A,e){var t,i,n=e.stack,r=n.pop(),s=n.pop(),a=e.z2[r],o=e.z1[s];exports.DEBUG&&console.log(e.step,"SDPVTL["+A+"]",r,s),A?(t=a.y-o.y,i=o.x-a.x):(t=o.x-a.x,i=o.y-a.y),e.dpv=It(t,i)}function Rt(A,e){var t=e.stack,i=e.prog,n=e.ip;exports.DEBUG&&console.log(e.step,"PUSHB["+A+"]");for(var r=0;r<A;r++)t.push(i[++n]);e.ip=n}function Lt(A,e){var t=e.ip,i=e.prog,n=e.stack;exports.DEBUG&&console.log(e.ip,"PUSHW["+A+"]");for(var r=0;r<A;r++){var s=i[++t]<<8|i[++t];32768&s&&(s=-(1+(65535^s))),n.push(s)}e.ip=t}function zt(A,e,t,i,n,r){var s,a,o,g,I=r.stack,C=A&&I.pop(),Q=I.pop(),c=r.rp0,B=r.z0[c],l=r.z1[Q],u=r.minDis,E=r.fv,f=r.dpv;o=(a=s=f.distance(l,B,!0,!0))>=0?1:-1,a=Math.abs(a),A&&(g=r.cvt[C],i&&Math.abs(a-g)<r.cvCutIn&&(a=g)),t&&a<u&&(a=u),i&&(a=r.round(a)),E.setRelative(l,B,o*a,f),E.touch(l),exports.DEBUG&&console.log(r.step,(A?"MIRP[":"MDRP[")+(e?"M":"m")+(t?">":"_")+(i?"R":"_")+(0===n?"Gr":1===n?"Bl":2===n?"Wh":"")+"]",A?C+"("+r.cvt[C]+","+g+")":"",Q,"(d =",s,"->",o*a,")"),r.rp1=r.rp0,r.rp2=Q,e&&(r.rp0=Q)}function Jt(A){this.char=A,this.state={},this.activeState=null}function qt(A,e,t){this.contextName=t,this.startIndex=A,this.endOffset=e}function Ot(A,e,t){this.contextName=A,this.openRange=null,this.ranges=[],this.checkStart=e,this.checkEnd=t}function Kt(A,e){this.context=A,this.index=e,this.length=A.length,this.current=A[e],this.backtrack=A.slice(0,e),this.lookahead=A.slice(e+1)}function Tt(A){this.eventId=A,this.subscribers=[]}function Yt(A){var e=this,t=["start","end","next","newToken","contextStart","contextEnd","insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD","updateContextsRanges"];t.forEach((function(A){Object.defineProperty(e.events,A,{value:new Tt(A)})})),A&&t.forEach((function(t){var i=A[t];"function"==typeof i&&e.events[t].subscribe(i)})),["insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD"].forEach((function(A){e.events[A].subscribe(e.updateContextsRanges)}))}function Ht(A){this.tokens=[],this.registeredContexts={},this.contextCheckers=[],this.events={},this.registeredModifiers=[],Yt.call(this,A)}function Pt(A){return/[\u0600-\u065F\u066A-\u06D2\u06FA-\u06FF]/.test(A)}function _t(A){return/[\u0630\u0690\u0621\u0631\u0661\u0671\u0622\u0632\u0672\u0692\u06C2\u0623\u0673\u0693\u06C3\u0624\u0694\u06C4\u0625\u0675\u0695\u06C5\u06E5\u0676\u0696\u06C6\u0627\u0677\u0697\u06C7\u0648\u0688\u0698\u06C8\u0689\u0699\u06C9\u068A\u06CA\u066B\u068B\u06CB\u068C\u068D\u06CD\u06FD\u068E\u06EE\u06FE\u062F\u068F\u06CF\u06EF]/.test(A)}function Vt(A){return/[\u0600-\u0605\u060C-\u060E\u0610-\u061B\u061E\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED]/.test(A)}function Wt(A){return/[A-z]/.test(A)}function Xt(A){this.font=A,this.features={}}function jt(A){this.id=A.id,this.tag=A.tag,this.substitution=A.substitution}function Zt(A,e){if(!A)return-1;switch(e.format){case 1:return e.glyphs.indexOf(A);case 2:for(var t=e.ranges,i=0;i<t.length;i++){var n=t[i];if(A>=n.start&&A<=n.end){var r=A-n.start;return n.index+r}}break;default:return-1}return-1}function $t(A,e){return-1===Zt(A,e.coverage)?null:A+e.deltaGlyphId}function Ai(A,e){var t=Zt(A,e.coverage);return-1===t?null:e.substitute[t]}function ei(A,e){for(var t=[],i=0;i<A.length;i++){var n=A[i],r=e.current,s=Zt(r=Array.isArray(r)?r[0]:r,n);-1!==s&&t.push(s)}return t.length!==A.length?-1:t}function ti(A,e){var t=e.inputCoverage.length+e.lookaheadCoverage.length+e.backtrackCoverage.length;if(A.context.length<t)return[];var i=ei(e.inputCoverage,A);if(-1===i)return[];var n=e.inputCoverage.length-1;if(A.lookahead.length<e.lookaheadCoverage.length)return[];for(var r=A.lookahead.slice(n);r.length&&Vt(r[0].char);)r.shift();var s=new Kt(r,0),a=ei(e.lookaheadCoverage,s),o=[].concat(A.backtrack);for(o.reverse();o.length&&Vt(o[0].char);)o.shift();if(o.length<e.backtrackCoverage.length)return[];var g=new Kt(o,0),I=ei(e.backtrackCoverage,g),C=[];if(i.length===e.inputCoverage.length&&a.length===e.lookaheadCoverage.length&&I.length===e.backtrackCoverage.length)for(var Q=0;Q<e.lookupRecords.length;Q++)for(var c=e.lookupRecords[Q].lookupListIndex,B=this.getLookupByIndex(c),l=0;l<B.subtables.length;l++){var u=B.subtables[l],E=this.getLookupMethod(B,u);if("12"===this.getSubstitutionType(B,u))for(var f=0;f<i.length;f++){var h=E(A.get(f));h&&C.push(h)}}return C}function ii(A,e){var t,i=Zt(A.current,e.coverage);if(-1===i)return null;for(var n=e.ligatureSets[i],r=0;r<n.length;r++){t=n[r];for(var s=0;s<t.components.length&&A.lookahead[s]===t.components[s];s++)if(s===t.components.length-1)return t}return null}function ni(A,e){var t=Zt(A,e.coverage);return-1===t?null:e.sequences[t]}$e.prototype.exec=function(A,e){if("number"!=typeof e)throw new Error("Point size is not a number!");if(!(this._errorState>2)){var t=this.font,i=this._prepState;if(!i||i.ppem!==e){var n=this._fpgmState;if(!n){Bt.prototype=ct,(n=this._fpgmState=new Bt("fpgm",t.tables.fpgm)).funcs=[],n.font=t,exports.DEBUG&&(console.log("---EXEC FPGM---"),n.step=-1);try{We(n)}catch(A){return console.log("Hinting error in FPGM:"+A),void(this._errorState=3)}}Bt.prototype=n,(i=this._prepState=new Bt("prep",t.tables.prep)).ppem=e;var r=t.tables.cvt;if(r)for(var s=i.cvt=new Array(r.length),a=e/t.unitsPerEm,o=0;o<r.length;o++)s[o]=r[o]*a;else i.cvt=[];exports.DEBUG&&(console.log("---EXEC PREP---"),i.step=-1);try{We(i)}catch(A){this._errorState<2&&console.log("Hinting error in PREP:"+A),this._errorState=2}}if(!(this._errorState>1))try{return Xe(A,i)}catch(A){return this._errorState<1&&(console.log("Hinting error:"+A),console.log("Note: further hinting errors are silenced")),void(this._errorState=1)}}},Xe=function(A,e){var t,i,n,r=e.ppem/e.font.unitsPerEm,s=r,a=A.components;if(Bt.prototype=e,a){var o=e.font;i=[],t=[];for(var g=0;g<a.length;g++){var I=a[g],C=o.glyphs.get(I.glyphIndex);n=new Bt("glyf",C.instructions),exports.DEBUG&&(console.log("---EXEC COMP "+g+"---"),n.step=-1),je(C,n,r,s);for(var Q=Math.round(I.dx*r),c=Math.round(I.dy*s),B=n.gZone,l=n.contours,u=0;u<B.length;u++){var E=B[u];E.xTouched=E.yTouched=!1,E.xo=E.x=E.x+Q,E.yo=E.y=E.y+c}var f=i.length;i.push.apply(i,B);for(var h=0;h<l.length;h++)t.push(l[h]+f)}A.instructions&&!n.inhibitGridFit&&((n=new Bt("glyf",A.instructions)).gZone=n.z0=n.z1=n.z2=i,n.contours=t,i.push(new Ct(0,0),new Ct(Math.round(A.advanceWidth*r),0)),exports.DEBUG&&(console.log("---EXEC COMPOSITE---"),n.step=-1),We(n),i.length-=2)}else n=new Bt("glyf",A.instructions),exports.DEBUG&&(console.log("---EXEC GLYPH---"),n.step=-1),je(A,n,r,s),i=n.gZone;return i},je=function(A,e,t,i){for(var n,r,s,a=A.points||[],o=a.length,g=e.gZone=e.z0=e.z1=e.z2=[],I=e.contours=[],C=0;C<o;C++)n=a[C],g[C]=new Ct(n.x*t,n.y*i,n.lastPointOfContour,n.onCurve);for(var Q=0;Q<o;Q++)n=g[Q],r||(r=n,I.push(Q)),n.lastPointOfContour?(n.nextPointOnContour=r,r.prevPointOnContour=n,r=void 0):(s=g[Q+1],n.nextPointOnContour=s,s.prevPointOnContour=n);if(!e.inhibitGridFit){if(exports.DEBUG){console.log("PROCESSING GLYPH",e.stack);for(var c=0;c<o;c++)console.log(c,g[c].x,g[c].y)}if(g.push(new Ct(0,0),new Ct(Math.round(A.advanceWidth*t),0)),We(e),g.length-=2,exports.DEBUG){console.log("FINISHED GLYPH",e.stack);for(var B=0;B<o;B++)console.log(B,g[B].x,g[B].y)}}},We=function(A){var e=A.prog;if(e){var t,i=e.length;for(A.ip=0;A.ip<i;A.ip++){if(exports.DEBUG&&A.step++,!(t=Ve[e[A.ip]]))throw new Error("unknown instruction: 0x"+Number(e[A.ip]).toString(16));t(A)}}},Ve=[Et.bind(void 0,ot),Et.bind(void 0,at),ft.bind(void 0,ot),ft.bind(void 0,at),ht.bind(void 0,ot),ht.bind(void 0,at),pt.bind(void 0,0),pt.bind(void 0,1),yt.bind(void 0,0),yt.bind(void 0,1),function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"SPVFS[]",t,i),A.pv=A.dpv=It(i,t)},function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"SPVFS[]",t,i),A.fv=It(i,t)},function(A){var e=A.stack,t=A.pv;exports.DEBUG&&console.log(A.step,"GPV[]"),e.push(16384*t.x),e.push(16384*t.y)},function(A){var e=A.stack,t=A.fv;exports.DEBUG&&console.log(A.step,"GFV[]"),e.push(16384*t.x),e.push(16384*t.y)},function(A){A.fv=A.pv,exports.DEBUG&&console.log(A.step,"SFVTPV[]")},function(A){var e=A.stack,t=e.pop(),i=e.pop(),n=e.pop(),r=e.pop(),s=e.pop(),a=A.z0,o=A.z1,g=a[t],I=a[i],C=o[n],Q=o[r],c=A.z2[s];exports.DEBUG&&console.log("ISECT[], ",t,i,n,r,s);var B=g.x,l=g.y,u=I.x,E=I.y,f=C.x,h=C.y,p=Q.x,y=Q.y,d=(B-u)*(h-y)-(l-E)*(f-p),m=B*E-l*u,b=f*y-h*p;c.x=(m*(f-p)-b*(B-u))/d,c.y=(m*(h-y)-b*(l-E))/d},function(A){A.rp0=A.stack.pop(),exports.DEBUG&&console.log(A.step,"SRP0[]",A.rp0)},function(A){A.rp1=A.stack.pop(),exports.DEBUG&&console.log(A.step,"SRP1[]",A.rp1)},function(A){A.rp2=A.stack.pop(),exports.DEBUG&&console.log(A.step,"SRP2[]",A.rp2)},function(A){var e=A.stack.pop();switch(exports.DEBUG&&console.log(A.step,"SZP0[]",e),A.zp0=e,e){case 0:A.tZone||lt(A),A.z0=A.tZone;break;case 1:A.z0=A.gZone;break;default:throw new Error("Invalid zone pointer")}},function(A){var e=A.stack.pop();switch(exports.DEBUG&&console.log(A.step,"SZP1[]",e),A.zp1=e,e){case 0:A.tZone||lt(A),A.z1=A.tZone;break;case 1:A.z1=A.gZone;break;default:throw new Error("Invalid zone pointer")}},function(A){var e=A.stack.pop();switch(exports.DEBUG&&console.log(A.step,"SZP2[]",e),A.zp2=e,e){case 0:A.tZone||lt(A),A.z2=A.tZone;break;case 1:A.z2=A.gZone;break;default:throw new Error("Invalid zone pointer")}},function(A){var e=A.stack.pop();switch(exports.DEBUG&&console.log(A.step,"SZPS[]",e),A.zp0=A.zp1=A.zp2=e,e){case 0:A.tZone||lt(A),A.z0=A.z1=A.z2=A.tZone;break;case 1:A.z0=A.z1=A.z2=A.gZone;break;default:throw new Error("Invalid zone pointer")}},function(A){A.loop=A.stack.pop(),exports.DEBUG&&console.log(A.step,"SLOOP[]",A.loop)},function(A){exports.DEBUG&&console.log(A.step,"RTG[]"),A.round=et},function(A){exports.DEBUG&&console.log(A.step,"RTHG[]"),A.round=it},function(A){var e=A.stack.pop();exports.DEBUG&&console.log(A.step,"SMD[]",e),A.minDis=e/64},function(A){exports.DEBUG&&console.log(A.step,"ELSE[]"),ut(A,!1)},function(A){var e=A.stack.pop();exports.DEBUG&&console.log(A.step,"JMPR[]",e),A.ip+=e-1},function(A){var e=A.stack.pop();exports.DEBUG&&console.log(A.step,"SCVTCI[]",e),A.cvCutIn=e/64},void 0,void 0,function(A){var e=A.stack;exports.DEBUG&&console.log(A.step,"DUP[]"),e.push(e[e.length-1])},dt,function(A){exports.DEBUG&&console.log(A.step,"CLEAR[]"),A.stack.length=0},function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"SWAP[]"),e.push(t),e.push(i)},function(A){var e=A.stack;exports.DEBUG&&console.log(A.step,"DEPTH[]"),e.push(e.length)},function(A){var e=A.stack,t=e.pop();exports.DEBUG&&console.log(A.step,"CINDEX[]",t),e.push(e[e.length-t])},function(A){var e=A.stack,t=e.pop();exports.DEBUG&&console.log(A.step,"MINDEX[]",t),e.push(e.splice(e.length-t,1)[0])},void 0,void 0,void 0,function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"LOOPCALL[]",t,i);var n=A.ip,r=A.prog;A.prog=A.funcs[t];for(var s=0;s<i;s++)We(A),exports.DEBUG&&console.log(++A.step,s+1<i?"next loopcall":"done loopcall",s);A.ip=n,A.prog=r},function(A){var e=A.stack.pop();exports.DEBUG&&console.log(A.step,"CALL[]",e);var t=A.ip,i=A.prog;A.prog=A.funcs[e],We(A),A.ip=t,A.prog=i,exports.DEBUG&&console.log(++A.step,"returning from",e)},function(A){if("fpgm"!==A.env)throw new Error("FDEF not allowed here");var e=A.stack,t=A.prog,i=A.ip,n=e.pop(),r=i;for(exports.DEBUG&&console.log(A.step,"FDEF[]",n);45!==t[++i];);A.ip=i,A.funcs[n]=t.slice(r+1,i)},void 0,mt.bind(void 0,0),mt.bind(void 0,1),bt.bind(void 0,ot),bt.bind(void 0,at),Dt.bind(void 0,0),Dt.bind(void 0,1),St.bind(void 0,0),St.bind(void 0,1),wt.bind(void 0,0),wt.bind(void 0,1),function(A){for(var e=A.stack,t=A.loop,i=A.fv,n=e.pop()/64,r=A.z2;t--;){var s=e.pop(),a=r[s];exports.DEBUG&&console.log(A.step,(A.loop>1?"loop "+(A.loop-t)+": ":"")+"SHPIX[]",s,n),i.setRelative(a,a,n),i.touch(a)}A.loop=1},function(A){for(var e=A.stack,t=A.rp1,i=A.rp2,n=A.loop,r=A.z0[t],s=A.z1[i],a=A.fv,o=A.dpv,g=A.z2;n--;){var I=e.pop(),C=g[I];exports.DEBUG&&console.log(A.step,(A.loop>1?"loop "+(A.loop-n)+": ":"")+"IP[]",I,t,"<->",i),a.interpolate(C,r,s,o),a.touch(C)}A.loop=1},vt.bind(void 0,0),vt.bind(void 0,1),function(A){for(var e=A.stack,t=A.rp0,i=A.z0[t],n=A.loop,r=A.fv,s=A.pv,a=A.z1;n--;){var o=e.pop(),g=a[o];exports.DEBUG&&console.log(A.step,(A.loop>1?"loop "+(A.loop-n)+": ":"")+"ALIGNRP[]",o),r.setRelative(g,i,0,s),r.touch(g)}A.loop=1},function(A){exports.DEBUG&&console.log(A.step,"RTDG[]"),A.round=tt},kt.bind(void 0,0),kt.bind(void 0,1),function(A){var e=A.prog,t=A.ip,i=A.stack,n=e[++t];exports.DEBUG&&console.log(A.step,"NPUSHB[]",n);for(var r=0;r<n;r++)i.push(e[++t]);A.ip=t},function(A){var e=A.ip,t=A.prog,i=A.stack,n=t[++e];exports.DEBUG&&console.log(A.step,"NPUSHW[]",n);for(var r=0;r<n;r++){var s=t[++e]<<8|t[++e];32768&s&&(s=-(1+(65535^s))),i.push(s)}A.ip=e},function(A){var e=A.stack,t=A.store;t||(t=A.store=[]);var i=e.pop(),n=e.pop();exports.DEBUG&&console.log(A.step,"WS",i,n),t[n]=i},function(A){var e=A.stack,t=A.store,i=e.pop();exports.DEBUG&&console.log(A.step,"RS",i);var n=t&&t[i]||0;e.push(n)},function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"WCVTP",t,i),A.cvt[i]=t/64},function(A){var e=A.stack,t=e.pop();exports.DEBUG&&console.log(A.step,"RCVT",t),e.push(64*A.cvt[t])},xt.bind(void 0,0),xt.bind(void 0,1),void 0,Gt.bind(void 0,0),Gt.bind(void 0,1),function(A){exports.DEBUG&&console.log(A.step,"MPPEM[]"),A.stack.push(A.ppem)},void 0,function(A){exports.DEBUG&&console.log(A.step,"FLIPON[]"),A.autoFlip=!0},void 0,void 0,function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"LT[]",t,i),e.push(i<t?1:0)},function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"LTEQ[]",t,i),e.push(i<=t?1:0)},function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"GT[]",t,i),e.push(i>t?1:0)},function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"GTEQ[]",t,i),e.push(i>=t?1:0)},function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"EQ[]",t,i),e.push(t===i?1:0)},function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"NEQ[]",t,i),e.push(t!==i?1:0)},function(A){var e=A.stack,t=e.pop();exports.DEBUG&&console.log(A.step,"ODD[]",t),e.push(Math.trunc(t)%2?1:0)},function(A){var e=A.stack,t=e.pop();exports.DEBUG&&console.log(A.step,"EVEN[]",t),e.push(Math.trunc(t)%2?0:1)},function(A){var e=A.stack.pop();exports.DEBUG&&console.log(A.step,"IF[]",e),e||(ut(A,!0),exports.DEBUG&&console.log(A.step,"EIF[]"))},function(A){exports.DEBUG&&console.log(A.step,"EIF[]")},function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"AND[]",t,i),e.push(t&&i?1:0)},function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"OR[]",t,i),e.push(t||i?1:0)},function(A){var e=A.stack,t=e.pop();exports.DEBUG&&console.log(A.step,"NOT[]",t),e.push(t?0:1)},Nt.bind(void 0,1),function(A){var e=A.stack.pop();exports.DEBUG&&console.log(A.step,"SDB[]",e),A.deltaBase=e},function(A){var e=A.stack.pop();exports.DEBUG&&console.log(A.step,"SDS[]",e),A.deltaShift=Math.pow(.5,e)},function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"ADD[]",t,i),e.push(i+t)},function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"SUB[]",t,i),e.push(i-t)},function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"DIV[]",t,i),e.push(64*i/t)},function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"MUL[]",t,i),e.push(i*t/64)},function(A){var e=A.stack,t=e.pop();exports.DEBUG&&console.log(A.step,"ABS[]",t),e.push(Math.abs(t))},function(A){var e=A.stack,t=e.pop();exports.DEBUG&&console.log(A.step,"NEG[]",t),e.push(-t)},function(A){var e=A.stack,t=e.pop();exports.DEBUG&&console.log(A.step,"FLOOR[]",t),e.push(64*Math.floor(t/64))},function(A){var e=A.stack,t=e.pop();exports.DEBUG&&console.log(A.step,"CEILING[]",t),e.push(64*Math.ceil(t/64))},Ut.bind(void 0,0),Ut.bind(void 0,1),Ut.bind(void 0,2),Ut.bind(void 0,3),void 0,void 0,void 0,void 0,function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"WCVTF[]",t,i),A.cvt[i]=t*A.ppem/A.font.unitsPerEm},Nt.bind(void 0,2),Nt.bind(void 0,3),Ft.bind(void 0,1),Ft.bind(void 0,2),Ft.bind(void 0,3),function(A){var e,t=A.stack.pop();switch(exports.DEBUG&&console.log(A.step,"SROUND[]",t),A.round=st,192&t){case 0:e=.5;break;case 64:e=1;break;case 128:e=2;break;default:throw new Error("invalid SROUND value")}switch(A.srPeriod=e,48&t){case 0:A.srPhase=0;break;case 16:A.srPhase=.25*e;break;case 32:A.srPhase=.5*e;break;case 48:A.srPhase=.75*e;break;default:throw new Error("invalid SROUND value")}t&=15,A.srThreshold=0===t?0:(t/8-.5)*e},function(A){var e,t=A.stack.pop();switch(exports.DEBUG&&console.log(A.step,"S45ROUND[]",t),A.round=st,192&t){case 0:e=Math.sqrt(2)/2;break;case 64:e=Math.sqrt(2);break;case 128:e=2*Math.sqrt(2);break;default:throw new Error("invalid S45ROUND value")}switch(A.srPeriod=e,48&t){case 0:A.srPhase=0;break;case 16:A.srPhase=.25*e;break;case 32:A.srPhase=.5*e;break;case 48:A.srPhase=.75*e;break;default:throw new Error("invalid S45ROUND value")}t&=15,A.srThreshold=0===t?0:(t/8-.5)*e},void 0,void 0,function(A){exports.DEBUG&&console.log(A.step,"ROFF[]"),A.round=At},void 0,function(A){exports.DEBUG&&console.log(A.step,"RUTG[]"),A.round=nt},function(A){exports.DEBUG&&console.log(A.step,"RDTG[]"),A.round=rt},dt,dt,void 0,void 0,void 0,void 0,void 0,function(A){var e=A.stack.pop();exports.DEBUG&&console.log(A.step,"SCANCTRL[]",e)},Mt.bind(void 0,0),Mt.bind(void 0,1),function(A){var e=A.stack,t=e.pop(),i=0;exports.DEBUG&&console.log(A.step,"GETINFO[]",t),1&t&&(i=35),32&t&&(i|=4096),e.push(i)},void 0,function(A){var e=A.stack,t=e.pop(),i=e.pop(),n=e.pop();exports.DEBUG&&console.log(A.step,"ROLL[]"),e.push(i),e.push(t),e.push(n)},function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"MAX[]",t,i),e.push(Math.max(i,t))},function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"MIN[]",t,i),e.push(Math.min(i,t))},function(A){var e=A.stack.pop();exports.DEBUG&&console.log(A.step,"SCANTYPE[]",e)},function(A){var e=A.stack.pop(),t=A.stack.pop();switch(exports.DEBUG&&console.log(A.step,"INSTCTRL[]",e,t),e){case 1:return void(A.inhibitGridFit=!!t);case 2:return void(A.ignoreCvt=!!t);default:throw new Error("invalid INSTCTRL[] selector")}},void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,Rt.bind(void 0,1),Rt.bind(void 0,2),Rt.bind(void 0,3),Rt.bind(void 0,4),Rt.bind(void 0,5),Rt.bind(void 0,6),Rt.bind(void 0,7),Rt.bind(void 0,8),Lt.bind(void 0,1),Lt.bind(void 0,2),Lt.bind(void 0,3),Lt.bind(void 0,4),Lt.bind(void 0,5),Lt.bind(void 0,6),Lt.bind(void 0,7),Lt.bind(void 0,8),zt.bind(void 0,0,0,0,0,0),zt.bind(void 0,0,0,0,0,1),zt.bind(void 0,0,0,0,0,2),zt.bind(void 0,0,0,0,0,3),zt.bind(void 0,0,0,0,1,0),zt.bind(void 0,0,0,0,1,1),zt.bind(void 0,0,0,0,1,2),zt.bind(void 0,0,0,0,1,3),zt.bind(void 0,0,0,1,0,0),zt.bind(void 0,0,0,1,0,1),zt.bind(void 0,0,0,1,0,2),zt.bind(void 0,0,0,1,0,3),zt.bind(void 0,0,0,1,1,0),zt.bind(void 0,0,0,1,1,1),zt.bind(void 0,0,0,1,1,2),zt.bind(void 0,0,0,1,1,3),zt.bind(void 0,0,1,0,0,0),zt.bind(void 0,0,1,0,0,1),zt.bind(void 0,0,1,0,0,2),zt.bind(void 0,0,1,0,0,3),zt.bind(void 0,0,1,0,1,0),zt.bind(void 0,0,1,0,1,1),zt.bind(void 0,0,1,0,1,2),zt.bind(void 0,0,1,0,1,3),zt.bind(void 0,0,1,1,0,0),zt.bind(void 0,0,1,1,0,1),zt.bind(void 0,0,1,1,0,2),zt.bind(void 0,0,1,1,0,3),zt.bind(void 0,0,1,1,1,0),zt.bind(void 0,0,1,1,1,1),zt.bind(void 0,0,1,1,1,2),zt.bind(void 0,0,1,1,1,3),zt.bind(void 0,1,0,0,0,0),zt.bind(void 0,1,0,0,0,1),zt.bind(void 0,1,0,0,0,2),zt.bind(void 0,1,0,0,0,3),zt.bind(void 0,1,0,0,1,0),zt.bind(void 0,1,0,0,1,1),zt.bind(void 0,1,0,0,1,2),zt.bind(void 0,1,0,0,1,3),zt.bind(void 0,1,0,1,0,0),zt.bind(void 0,1,0,1,0,1),zt.bind(void 0,1,0,1,0,2),zt.bind(void 0,1,0,1,0,3),zt.bind(void 0,1,0,1,1,0),zt.bind(void 0,1,0,1,1,1),zt.bind(void 0,1,0,1,1,2),zt.bind(void 0,1,0,1,1,3),zt.bind(void 0,1,1,0,0,0),zt.bind(void 0,1,1,0,0,1),zt.bind(void 0,1,1,0,0,2),zt.bind(void 0,1,1,0,0,3),zt.bind(void 0,1,1,0,1,0),zt.bind(void 0,1,1,0,1,1),zt.bind(void 0,1,1,0,1,2),zt.bind(void 0,1,1,0,1,3),zt.bind(void 0,1,1,1,0,0),zt.bind(void 0,1,1,1,0,1),zt.bind(void 0,1,1,1,0,2),zt.bind(void 0,1,1,1,0,3),zt.bind(void 0,1,1,1,1,0),zt.bind(void 0,1,1,1,1,1),zt.bind(void 0,1,1,1,1,2),zt.bind(void 0,1,1,1,1,3)],Jt.prototype.setState=function(A,e){return this.state[A]=e,this.activeState={key:A,value:this.state[A]},this.activeState},Jt.prototype.getState=function(A){return this.state[A]||null},Ht.prototype.inboundIndex=function(A){return A>=0&&A<this.tokens.length},Ht.prototype.composeRUD=function(A){var e=this,t=A.map((function(A){return e[A[0]].apply(e,A.slice(1).concat(!0))})),i=function(A){return"object"==typeof A&&A.hasOwnProperty("FAIL")};if(t.every(i))return{FAIL:"composeRUD: one or more operations hasn't completed successfully",report:t.filter(i)};this.dispatch("composeRUD",[t.filter((function(A){return!i(A)}))])},Ht.prototype.replaceRange=function(A,e,t,i){e=null!==e?e:this.tokens.length;var n=t.every((function(A){return A instanceof Jt}));if(!isNaN(A)&&this.inboundIndex(A)&&n){var r=this.tokens.splice.apply(this.tokens,[A,e].concat(t));return i||this.dispatch("replaceToken",[A,e,t]),[r,t]}return{FAIL:"replaceRange: invalid tokens or startIndex."}},Ht.prototype.replaceToken=function(A,e,t){if(!isNaN(A)&&this.inboundIndex(A)&&e instanceof Jt){var i=this.tokens.splice(A,1,e);return t||this.dispatch("replaceToken",[A,e]),[i[0],e]}return{FAIL:"replaceToken: invalid token or index."}},Ht.prototype.removeRange=function(A,e,t){e=isNaN(e)?this.tokens.length:e;var i=this.tokens.splice(A,e);return t||this.dispatch("removeRange",[i,A,e]),i},Ht.prototype.removeToken=function(A,e){if(!isNaN(A)&&this.inboundIndex(A)){var t=this.tokens.splice(A,1);return e||this.dispatch("removeToken",[t,A]),t}return{FAIL:"removeToken: invalid token index."}},Ht.prototype.insertToken=function(A,e,t){return A.every((function(A){return A instanceof Jt}))?(this.tokens.splice.apply(this.tokens,[e,0].concat(A)),t||this.dispatch("insertToken",[A,e]),A):{FAIL:"insertToken: invalid token(s)."}},Ht.prototype.registerModifier=function(A,e,t){this.events.newToken.subscribe((function(i,n){var r=[i,n],s=[i,n];if(null===e||!0===e.apply(this,r)){var a=t.apply(this,s);i.setState(A,a)}})),this.registeredModifiers.push(A)},Tt.prototype.subscribe=function(A){return"function"==typeof A?this.subscribers.push(A)-1:{FAIL:"invalid '"+this.eventId+"' event handler"}},Tt.prototype.unsubscribe=function(A){this.subscribers.splice(A,1)},Kt.prototype.setCurrentIndex=function(A){this.index=A,this.current=this.context[A],this.backtrack=this.context.slice(0,A),this.lookahead=this.context.slice(A+1)},Kt.prototype.get=function(A){switch(!0){case 0===A:return this.current;case A<0&&Math.abs(A)<=this.backtrack.length:return this.backtrack.slice(A)[0];case A>0&&A<=this.lookahead.length:return this.lookahead[A-1];default:return null}},Ht.prototype.rangeToText=function(A){if(A instanceof qt)return this.getRangeTokens(A).map((function(A){return A.char})).join("")},Ht.prototype.getText=function(){return this.tokens.map((function(A){return A.char})).join("")},Ht.prototype.getContext=function(A){return this.registeredContexts[A]||null},Ht.prototype.on=function(A,e){var t=this.events[A];return t?t.subscribe(e):null},Ht.prototype.dispatch=function(A,e){var t=this,i=this.events[A];i instanceof Tt&&i.subscribers.forEach((function(A){A.apply(t,e||[])}))},Ht.prototype.registerContextChecker=function(A,e,t){if(this.getContext(A))return{FAIL:"context name '"+A+"' is already registered."};if("function"!=typeof e)return{FAIL:"missing context start check."};if("function"!=typeof t)return{FAIL:"missing context end check."};var i=new Ot(A,e,t);return this.registeredContexts[A]=i,this.contextCheckers.push(i),i},Ht.prototype.getRangeTokens=function(A){var e=A.startIndex+A.endOffset;return[].concat(this.tokens.slice(A.startIndex,e))},Ht.prototype.getContextRanges=function(A){var e=this.getContext(A);return e?e.ranges:{FAIL:"context checker '"+A+"' is not registered."}},Ht.prototype.resetContextsRanges=function(){var A=this.registeredContexts;for(var e in A)A.hasOwnProperty(e)&&(A[e].ranges=[])},Ht.prototype.updateContextsRanges=function(){this.resetContextsRanges();for(var A=this.tokens.map((function(A){return A.char})),e=0;e<A.length;e++){var t=new Kt(A,e);this.runContextCheck(t)}this.dispatch("updateContextsRanges",[this.registeredContexts])},Ht.prototype.setEndOffset=function(A,e){var t=new qt(this.getContext(e).openRange.startIndex,A,e),i=this.getContext(e).ranges;return t.rangeId=e+"."+i.length,i.push(t),this.getContext(e).openRange=null,t},Ht.prototype.runContextCheck=function(A){var e=this,t=A.index;this.contextCheckers.forEach((function(i){var n=i.contextName,r=e.getContext(n).openRange;if(!r&&i.checkStart(A)&&(r=new qt(t,null,n),e.getContext(n).openRange=r,e.dispatch("contextStart",[n,t])),r&&i.checkEnd(A)){var s=t-r.startIndex+1,a=e.setEndOffset(s,n);e.dispatch("contextEnd",[n,a])}}))},Ht.prototype.tokenize=function(A){this.tokens=[],this.resetContextsRanges();var e=Array.from(A);this.dispatch("start");for(var t=0;t<e.length;t++){var i=e[t],n=new Kt(e,t);this.dispatch("next",[n]),this.runContextCheck(n);var r=new Jt(i);this.tokens.push(r),this.dispatch("newToken",[r,n])}return this.dispatch("end",[this.tokens]),this.tokens},Xt.prototype.getDefaultScriptFeaturesIndexes=function(){for(var A=this.font.tables.gsub.scripts,e=0;e<A.length;e++){var t=A[e];if("DFLT"===t.tag)return t.script.defaultLangSys.featureIndexes}return[]},Xt.prototype.getScriptFeaturesIndexes=function(A){if(!this.font.tables.gsub)return[];if(!A)return this.getDefaultScriptFeaturesIndexes();for(var e=this.font.tables.gsub.scripts,t=0;t<e.length;t++){var i=e[t];if(i.tag===A&&i.script.defaultLangSys)return i.script.defaultLangSys.featureIndexes;var n=i.langSysRecords;if(n)for(var r=0;r<n.length;r++){var s=n[r];if(s.tag===A)return s.langSys.featureIndexes}}return this.getDefaultScriptFeaturesIndexes()},Xt.prototype.mapTagsToFeatures=function(A,e){for(var t={},i=0;i<A.length;i++){var n=A[i].tag,r=A[i].feature;t[n]=r}this.features[e].tags=t},Xt.prototype.getScriptFeatures=function(A){var e=this.features[A];if(this.features.hasOwnProperty(A))return e;var t=this.getScriptFeaturesIndexes(A);if(!t)return null;var i=this.font.tables.gsub;return e=t.map((function(A){return i.features[A]})),this.features[A]=e,this.mapTagsToFeatures(e,A),e},Xt.prototype.getSubstitutionType=function(A,e){return A.lookupType.toString()+e.substFormat.toString()},Xt.prototype.getLookupMethod=function(A,e){var t=this;switch(this.getSubstitutionType(A,e)){case"11":return function(A){return $t.apply(t,[A,e])};case"12":return function(A){return Ai.apply(t,[A,e])};case"63":return function(A){return ti.apply(t,[A,e])};case"41":return function(A){return ii.apply(t,[A,e])};case"21":return function(A){return ni.apply(t,[A,e])};default:throw new Error("lookupType: "+A.lookupType+" - substFormat: "+e.substFormat+" is not yet supported")}},Xt.prototype.lookupFeature=function(A){var e=A.contextParams,t=e.index,i=this.getFeature({tag:A.tag,script:A.script});if(!i)return new Error("font '"+this.font.names.fullName.en+"' doesn't support feature '"+A.tag+"' for script '"+A.script+"'.");for(var n=this.getFeatureLookups(i),r=[].concat(e.context),s=0;s<n.length;s++)for(var a=n[s],o=this.getLookupSubtables(a),g=0;g<o.length;g++){var I=o[g],C=this.getSubstitutionType(a,I),Q=this.getLookupMethod(a,I),c=void 0;switch(C){case"11":(c=Q(e.current))&&r.splice(t,1,new jt({id:11,tag:A.tag,substitution:c}));break;case"12":(c=Q(e.current))&&r.splice(t,1,new jt({id:12,tag:A.tag,substitution:c}));break;case"63":c=Q(e),Array.isArray(c)&&c.length&&r.splice(t,1,new jt({id:63,tag:A.tag,substitution:c}));break;case"41":(c=Q(e))&&r.splice(t,1,new jt({id:41,tag:A.tag,substitution:c}));break;case"21":(c=Q(e.current))&&r.splice(t,1,new jt({id:21,tag:A.tag,substitution:c}))}e=new Kt(r,t),Array.isArray(c)&&!c.length||(c=null)}return r.length?r:null},Xt.prototype.supports=function(A){if(!A.script)return!1;this.getScriptFeatures(A.script);var e=this.features.hasOwnProperty(A.script);if(!A.tag)return e;var t=this.features[A.script].some((function(e){return e.tag===A.tag}));return e&&t},Xt.prototype.getLookupSubtables=function(A){return A.subtables||null},Xt.prototype.getLookupByIndex=function(A){return this.font.tables.gsub.lookups[A]||null},Xt.prototype.getFeatureLookups=function(A){return A.lookupListIndexes.map(this.getLookupByIndex.bind(this))},Xt.prototype.getFeature=function(A){if(!this.font)return{FAIL:"No font was found"};this.features.hasOwnProperty(A.script)||this.getScriptFeatures(A.script);var e=this.features[A.script];return e?e.tags[A.tag]?this.features[A.script].tags[A.tag]:null:{FAIL:"No feature for script "+A.script}};var ri={startCheck:function(A){var e=A.current,t=A.get(-1);return null===t&&Pt(e)||!Pt(t)&&Pt(e)},endCheck:function(A){var e=A.get(1);return null===e||!Pt(e)}},si={startCheck:function(A){var e=A.current,t=A.get(-1);return(Pt(e)||Vt(e))&&!Pt(t)},endCheck:function(A){var e=A.get(1);switch(!0){case null===e:return!0;case!Pt(e)&&!Vt(e):var t=/\s/.test(e);if(!t)return!0;if(t)if(!A.lookahead.some((function(A){return Pt(A)||Vt(A)})))return!0;break;default:return!1}}},ai={11:function(A,e,t){e[t].setState(A.tag,A.substitution)},12:function(A,e,t){e[t].setState(A.tag,A.substitution)},63:function(A,e,t){A.substitution.forEach((function(i,n){e[t+n].setState(A.tag,i)}))},41:function(A,e,t){var i=e[t];i.setState(A.tag,A.substitution.ligGlyph);for(var n=A.substitution.components.length,r=0;r<n;r++)(i=e[t+r+1]).setState("deleted",!0)}};function oi(A,e,t){A instanceof jt&&ai[A.id]&&ai[A.id](A,e,t)}function gi(A){var e=this,t="arab",i=this.featuresTags[t],n=this.tokenizer.getRangeTokens(A);if(1!==n.length){var r=new Kt(n.map((function(A){return A.getState("glyphIndex")})),0),s=new Kt(n.map((function(A){return A.char})),0);n.forEach((function(A,a){if(!Vt(A.char)){r.setCurrentIndex(a),s.setCurrentIndex(a);var o,g=0;switch(function(A){for(var e=[].concat(A.backtrack),t=e.length-1;t>=0;t--){var i=e[t],n=_t(i),r=Vt(i);if(!n&&!r)return!0;if(n)return!1}return!1}(s)&&(g|=1),function(A){if(_t(A.current))return!1;for(var e=0;e<A.lookahead.length;e++)if(!Vt(A.lookahead[e]))return!0;return!1}(s)&&(g|=2),g){case 1:o="fina";break;case 2:o="init";break;case 3:o="medi"}if(-1!==i.indexOf(o)){var I=e.query.lookupFeature({tag:o,script:t,contextParams:r});if(I instanceof Error)return console.info(I.message);I.forEach((function(A,e){A instanceof jt&&(oi(A,n,e),r.context[e]=A.substitution)}))}}}))}}function Ii(A,e){return new Kt(A.map((function(A){return A.activeState.value})),e||0)}function Ci(A){var e=this,t=this.tokenizer.getRangeTokens(A),i=Ii(t);i.context.forEach((function(A,n){i.setCurrentIndex(n);var r=e.query.lookupFeature({tag:"rlig",script:"arab",contextParams:i});r.length&&(r.forEach((function(A){return oi(A,t,n)})),i=Ii(t))}))}var Qi={startCheck:function(A){var e=A.current,t=A.get(-1);return null===t&&Wt(e)||!Wt(t)&&Wt(e)},endCheck:function(A){var e=A.get(1);return null===e||!Wt(e)}};function ci(A,e){return new Kt(A.map((function(A){return A.activeState.value})),e||0)}function Bi(A){var e=this,t=this.tokenizer.getRangeTokens(A),i=ci(t);i.context.forEach((function(A,n){i.setCurrentIndex(n);var r=e.query.lookupFeature({tag:"liga",script:"latn",contextParams:i});r.length&&(r.forEach((function(A){return oi(A,t,n)})),i=ci(t))}))}function li(A){this.baseDir=A||"ltr",this.tokenizer=new Ht,this.featuresTags={}}function ui(A){var e=this.contextChecks[A+"Check"];return this.tokenizer.registerContextChecker(A,e.startCheck,e.endCheck)}function Ei(){return ui.call(this,"latinWord"),ui.call(this,"arabicWord"),ui.call(this,"arabicSentence"),this.tokenizer.tokenize(this.text)}function fi(){var A=this;this.tokenizer.getContextRanges("arabicSentence").forEach((function(e){var t=A.tokenizer.getRangeTokens(e);A.tokenizer.replaceRange(e.startIndex,e.endOffset,t.reverse())}))}function hi(){if(-1===this.tokenizer.registeredModifiers.indexOf("glyphIndex"))throw new Error("glyphIndex modifier is required to apply arabic presentation features.")}function pi(){var A=this;this.featuresTags.hasOwnProperty("arab")&&(hi.call(this),this.tokenizer.getContextRanges("arabicWord").forEach((function(e){gi.call(A,e)})))}function yi(){var A=this,e="arab";this.featuresTags.hasOwnProperty(e)&&-1!==this.featuresTags[e].indexOf("rlig")&&(hi.call(this),this.tokenizer.getContextRanges("arabicWord").forEach((function(e){Ci.call(A,e)})))}function di(){var A=this,e="latn";this.featuresTags.hasOwnProperty(e)&&-1!==this.featuresTags[e].indexOf("liga")&&(hi.call(this),this.tokenizer.getContextRanges("latinWord").forEach((function(e){Bi.call(A,e)})))}function mi(A){(A=A||{}).tables=A.tables||{},A.empty||(Ke(A.familyName,"When creating a new Font object, familyName is required."),Ke(A.styleName,"When creating a new Font object, styleName is required."),Ke(A.unitsPerEm,"When creating a new Font object, unitsPerEm is required."),Ke(A.ascender,"When creating a new Font object, ascender is required."),Ke(A.descender<=0,"When creating a new Font object, negative descender value is required."),this.names={fontFamily:{en:A.familyName||" "},fontSubfamily:{en:A.styleName||" "},fullName:{en:A.fullName||A.familyName+" "+A.styleName},postScriptName:{en:A.postScriptName||(A.familyName+A.styleName).replace(/\s/g,"")},designer:{en:A.designer||" "},designerURL:{en:A.designerURL||" "},manufacturer:{en:A.manufacturer||" "},manufacturerURL:{en:A.manufacturerURL||" "},license:{en:A.license||" "},licenseURL:{en:A.licenseURL||" "},version:{en:A.version||"Version 0.1"},description:{en:A.description||" "},copyright:{en:A.copyright||" "},trademark:{en:A.trademark||" "}},this.unitsPerEm=A.unitsPerEm||1e3,this.ascender=A.ascender,this.descender=A.descender,this.createdTimestamp=A.createdTimestamp,this.tables=Object.assign(A.tables,{os2:Object.assign({usWeightClass:A.weightClass||this.usWeightClasses.MEDIUM,usWidthClass:A.widthClass||this.usWidthClasses.MEDIUM,fsSelection:A.fsSelection||this.fsSelectionValues.REGULAR},A.tables.os2)})),this.supported=!0,this.glyphs=new dA.GlyphSet(this,A.glyphs||[]),this.encoding=new BA(this),this.position=new Le(this),this.substitution=new ze(this),this.tables=this.tables||{},this._push=null,this._hmtxTableData={},Object.defineProperty(this,"hinting",{get:function(){return this._hinting?this._hinting:"truetype"===this.outlinesFormat?this._hinting=new $e(this):void 0}})}function bi(A,e,t){var i={},n=new sA.Parser(A,e);return i.tag=n.parseTag(),i.minValue=n.parseFixed(),i.defaultValue=n.parseFixed(),i.maxValue=n.parseFixed(),n.skip("uShort",1),i.name=t[n.parseUShort()]||{},i}function Di(A,e,t,i){var n={},r=new sA.Parser(A,e);n.name=i[r.parseUShort()]||{},r.skip("uShort",1),n.coordinates={};for(var s=0;s<t.length;++s)n.coordinates[t[s].tag]=r.parseFixed();return n}li.prototype.setText=function(A){this.text=A},li.prototype.contextChecks={latinWordCheck:Qi,arabicWordCheck:ri,arabicSentenceCheck:si},li.prototype.registerFeatures=function(A,e){var t=this,i=e.filter((function(e){return t.query.supports({script:A,tag:e})}));this.featuresTags.hasOwnProperty(A)?this.featuresTags[A]=this.featuresTags[A].concat(i):this.featuresTags[A]=i},li.prototype.applyFeatures=function(A,e){if(!A)throw new Error("No valid font was provided to apply features");this.query||(this.query=new Xt(A));for(var t=0;t<e.length;t++){var i=e[t];this.query.supports({script:i.script})&&this.registerFeatures(i.script,i.tags)}},li.prototype.registerModifier=function(A,e,t){this.tokenizer.registerModifier(A,e,t)},li.prototype.checkContextReady=function(A){return!!this.tokenizer.getContext(A)},li.prototype.applyFeaturesToContexts=function(){this.checkContextReady("arabicWord")&&(pi.call(this),yi.call(this)),this.checkContextReady("latinWord")&&di.call(this),this.checkContextReady("arabicSentence")&&fi.call(this)},li.prototype.processText=function(A){this.text&&this.text===A||(this.setText(A),Ei.call(this),this.applyFeaturesToContexts())},li.prototype.getBidiText=function(A){return this.processText(A),this.tokenizer.getText()},li.prototype.getTextGlyphs=function(A){this.processText(A);for(var e=[],t=0;t<this.tokenizer.tokens.length;t++){var i=this.tokenizer.tokens[t];if(!i.state.deleted){var n=i.activeState.value;e.push(Array.isArray(n)?n[0]:n)}}return e},mi.prototype.hasChar=function(A){return null!==this.encoding.charToGlyphIndex(A)},mi.prototype.charToGlyphIndex=function(A){return this.encoding.charToGlyphIndex(A)},mi.prototype.charToGlyph=function(A){var e=this.charToGlyphIndex(A),t=this.glyphs.get(e);return t||(t=this.glyphs.get(0)),t},mi.prototype.updateFeatures=function(A){return this.defaultRenderOptions.features.map((function(e){return"latn"===e.script?{script:"latn",tags:e.tags.filter((function(e){return A[e]}))}:e}))},mi.prototype.stringToGlyphs=function(A,e){var t=this,i=new li;i.registerModifier("glyphIndex",null,(function(A){return t.charToGlyphIndex(A.char)}));var n=e?this.updateFeatures(e.features):this.defaultRenderOptions.features;i.applyFeatures(this,n);for(var r=i.getTextGlyphs(A),s=r.length,a=new Array(s),o=this.glyphs.get(0),g=0;g<s;g+=1)a[g]=this.glyphs.get(r[g])||o;return a},mi.prototype.nameToGlyphIndex=function(A){return this.glyphNames.nameToGlyphIndex(A)},mi.prototype.nameToGlyph=function(A){var e=this.nameToGlyphIndex(A),t=this.glyphs.get(e);return t||(t=this.glyphs.get(0)),t},mi.prototype.glyphIndexToName=function(A){return this.glyphNames.glyphIndexToName?this.glyphNames.glyphIndexToName(A):""},mi.prototype.getKerningValue=function(A,e){A=A.index||A,e=e.index||e;var t=this.position.defaultKerningTables;return t?this.position.getKerningValue(t,A,e):this.kerningPairs[A+","+e]||0},mi.prototype.defaultRenderOptions={kerning:!0,features:[{script:"arab",tags:["init","medi","fina","rlig"]},{script:"latn",tags:["liga","rlig"]}]},mi.prototype.forEachGlyph=function(A,e,t,i,n,r){e=void 0!==e?e:0,t=void 0!==t?t:0,i=void 0!==i?i:72,n=Object.assign({},this.defaultRenderOptions,n);var s,a=1/this.unitsPerEm*i,o=this.stringToGlyphs(A,n);if(n.kerning){var g=n.script||this.position.getDefaultScriptName();s=this.position.getKerningTables(g,n.language)}for(var I=0;I<o.length;I+=1){var C=o[I];r.call(this,C,e,t,i,n),C.advanceWidth&&(e+=C.advanceWidth*a),n.kerning&&I<o.length-1&&(e+=(s?this.position.getKerningValue(s,C.index,o[I+1].index):this.getKerningValue(C,o[I+1]))*a),n.letterSpacing?e+=n.letterSpacing*i:n.tracking&&(e+=n.tracking/1e3*i)}return e},mi.prototype.getPath=function(A,e,t,i,n){var r=new w;return this.forEachGlyph(A,e,t,i,n,(function(A,e,t,i){var s=A.getPath(e,t,i,n,this);r.extend(s)})),r},mi.prototype.getPaths=function(A,e,t,i,n){var r=[];return this.forEachGlyph(A,e,t,i,n,(function(A,e,t,i){var s=A.getPath(e,t,i,n,this);r.push(s)})),r},mi.prototype.getAdvanceWidth=function(A,e,t){return this.forEachGlyph(A,0,0,e,t,(function(){}))},mi.prototype.draw=function(A,e,t,i,n,r){this.getPath(e,t,i,n,r).draw(A)},mi.prototype.drawPoints=function(A,e,t,i,n,r){this.forEachGlyph(e,t,i,n,r,(function(e,t,i,n){e.drawPoints(A,t,i,n)}))},mi.prototype.drawMetrics=function(A,e,t,i,n,r){this.forEachGlyph(e,t,i,n,r,(function(e,t,i,n){e.drawMetrics(A,t,i,n)}))},mi.prototype.getEnglishName=function(A){var e=this.names[A];if(e)return e.en},mi.prototype.validate=function(){var A=this;function e(e){var t=A.getEnglishName(e);t&&t.trim().length}e("fontFamily"),e("weightName"),e("manufacturer"),e("copyright"),e("version"),this.unitsPerEm},mi.prototype.toTables=function(){return Ne(this)},mi.prototype.toBuffer=function(){return console.warn("Font.toBuffer is deprecated. Use Font.toArrayBuffer instead."),this.toArrayBuffer()},mi.prototype.toArrayBuffer=function(){for(var A=this.toTables().encode(),e=new ArrayBuffer(A.length),t=new Uint8Array(e),i=0;i<A.length;i++)t[i]=A[i];return e},mi.prototype.download=function(A){var e=this.getEnglishName("fontFamily"),i=this.getEnglishName("fontSubfamily");A=A||e.replace(/\s/g,"")+"-"+i+".otf";var n=this.toArrayBuffer();if("undefined"!=typeof window)if(window.URL=window.URL||window.webkitURL,window.URL){var r=new DataView(n),s=new Blob([r],{type:"font/opentype"}),a=document.createElement("a");a.href=window.URL.createObjectURL(s),a.download=A;var o=document.createEvent("MouseEvents");o.initEvent("click",!0,!1),a.dispatchEvent(o)}else console.warn("Font file could not be downloaded. Try using a different browser.");else{var g=t(7256),I=function(A){for(var e=new Buffer(A.byteLength),t=new Uint8Array(A),i=0;i<e.length;++i)e[i]=t[i];return e}(n);g.writeFileSync(A,I)}},mi.prototype.fsSelectionValues={ITALIC:1,UNDERSCORE:2,NEGATIVE:4,OUTLINED:8,STRIKEOUT:16,BOLD:32,REGULAR:64,USER_TYPO_METRICS:128,WWS:256,OBLIQUE:512},mi.prototype.usWidthClasses={ULTRA_CONDENSED:1,EXTRA_CONDENSED:2,CONDENSED:3,SEMI_CONDENSED:4,MEDIUM:5,SEMI_EXPANDED:6,EXPANDED:7,EXTRA_EXPANDED:8,ULTRA_EXPANDED:9},mi.prototype.usWeightClasses={THIN:100,EXTRA_LIGHT:200,LIGHT:300,NORMAL:400,MEDIUM:500,SEMI_BOLD:600,BOLD:700,EXTRA_BOLD:800,BLACK:900};var Si=function(A,e,t){var i=new sA.Parser(A,e),n=i.parseULong();x.argument(65536===n,"Unsupported fvar table version.");var r=i.parseOffset16();i.skip("uShort",1);for(var s=i.parseUShort(),a=i.parseUShort(),o=i.parseUShort(),g=i.parseUShort(),I=[],C=0;C<s;C++)I.push(bi(A,e+r+C*a,t));for(var Q=[],c=e+r+s*a,B=0;B<o;B++)Q.push(Di(A,c+B*g,I,t));return{axes:I,instances:Q}},wi=function(){return{coverage:this.parsePointer(nA.coverage),attachPoints:this.parseList(nA.pointer(nA.uShortList))}},vi=function(){var A=this.parseUShort();return x.argument(1===A||2===A||3===A,"Unsupported CaretValue table version."),1===A?{coordinate:this.parseShort()}:2===A?{pointindex:this.parseShort()}:3===A?{coordinate:this.parseShort()}:void 0},ki=function(){return this.parseList(nA.pointer(vi))},xi=function(){return{coverage:this.parsePointer(nA.coverage),ligGlyphs:this.parseList(nA.pointer(ki))}},Gi=function(){return this.parseUShort(),this.parseList(nA.pointer(nA.coverage))},Ni=function(A,e){var t=new nA(A,e=e||0),i=t.parseVersion(1);x.argument(1===i||1.2===i||1.3===i,"Unsupported GDEF table version.");var n={version:i,classDef:t.parsePointer(nA.classDef),attachList:t.parsePointer(wi),ligCaretList:t.parsePointer(xi),markAttachClassDef:t.parsePointer(nA.classDef)};return i>=1.2&&(n.markGlyphSets=t.parsePointer(Gi)),n},Ui=new Array(10);Ui[1]=function(){var A=this.offset+this.relativeOffset,e=this.parseUShort();return 1===e?{posFormat:1,coverage:this.parsePointer(nA.coverage),value:this.parseValueRecord()}:2===e?{posFormat:2,coverage:this.parsePointer(nA.coverage),values:this.parseValueRecordList()}:void x.assert(!1,"0x"+A.toString(16)+": GPOS lookup type 1 format must be 1 or 2.")},Ui[2]=function(){var A=this.offset+this.relativeOffset,e=this.parseUShort();x.assert(1===e||2===e,"0x"+A.toString(16)+": GPOS lookup type 2 format must be 1 or 2.");var t=this.parsePointer(nA.coverage),i=this.parseUShort(),n=this.parseUShort();if(1===e)return{posFormat:e,coverage:t,valueFormat1:i,valueFormat2:n,pairSets:this.parseList(nA.pointer(nA.list((function(){return{secondGlyph:this.parseUShort(),value1:this.parseValueRecord(i),value2:this.parseValueRecord(n)}}))))};if(2===e){var r=this.parsePointer(nA.classDef),s=this.parsePointer(nA.classDef),a=this.parseUShort(),o=this.parseUShort();return{posFormat:e,coverage:t,valueFormat1:i,valueFormat2:n,classDef1:r,classDef2:s,class1Count:a,class2Count:o,classRecords:this.parseList(a,nA.list(o,(function(){return{value1:this.parseValueRecord(i),value2:this.parseValueRecord(n)}})))}}},Ui[3]=function(){return{error:"GPOS Lookup 3 not supported"}},Ui[4]=function(){return{error:"GPOS Lookup 4 not supported"}},Ui[5]=function(){return{error:"GPOS Lookup 5 not supported"}},Ui[6]=function(){return{error:"GPOS Lookup 6 not supported"}},Ui[7]=function(){return{error:"GPOS Lookup 7 not supported"}},Ui[8]=function(){return{error:"GPOS Lookup 8 not supported"}},Ui[9]=function(){return{error:"GPOS Lookup 9 not supported"}};new Array(10);var Fi=function(A,e){var t=new nA(A,e=e||0),i=t.parseVersion(1);return x.argument(1===i||1.1===i,"Unsupported GPOS table version "+i),1===i?{version:i,scripts:t.parseScriptList(),features:t.parseFeatureList(),lookups:t.parseLookupList(Ui)}:{version:i,scripts:t.parseScriptList(),features:t.parseFeatureList(),lookups:t.parseLookupList(Ui),variations:t.parseFeatureVariationsList()}},Mi=function(A,e){var t=new sA.Parser(A,e),i=t.parseUShort();if(0===i)return function(A){var e={};A.skip("uShort");var t=A.parseUShort();x.argument(0===t,"Unsupported kern sub-table version."),A.skip("uShort",2);var i=A.parseUShort();A.skip("uShort",3);for(var n=0;n<i;n+=1){var r=A.parseUShort(),s=A.parseUShort(),a=A.parseShort();e[r+","+s]=a}return e}(t);if(1===i)return function(A){var e={};A.skip("uShort"),A.parseULong()>1&&console.warn("Only the first kern subtable is supported."),A.skip("uLong");var t=255&A.parseUShort();if(A.skip("uShort"),0===t){var i=A.parseUShort();A.skip("uShort",3);for(var n=0;n<i;n+=1){var r=A.parseUShort(),s=A.parseUShort(),a=A.parseShort();e[r+","+s]=a}}return e}(t);throw new Error("Unsupported kern table version ("+i+").")},Ri=function(A,e,t,i){for(var n=new sA.Parser(A,e),r=i?n.parseUShort:n.parseULong,s=[],a=0;a<t+1;a+=1){var o=r.call(n);i&&(o*=2),s.push(o)}return s};function Li(A,e){t(7256).readFile(A,(function(A,t){if(A)return e(A.message);e(null,Oe(t))}))}function zi(A,e){var t=new XMLHttpRequest;t.open("get",A,!0),t.responseType="arraybuffer",t.onload=function(){return t.response?e(null,t.response):e("Font could not be loaded: "+t.statusText)},t.onerror=function(){e("Font could not be loaded")},t.send()}function Ji(A,e){for(var t=[],i=12,n=0;n<e;n+=1){var r=sA.getTag(A,i),s=sA.getULong(A,i+4),a=sA.getULong(A,i+8),o=sA.getULong(A,i+12);t.push({tag:r,checksum:s,offset:a,length:o,compression:!1}),i+=16}return t}function qi(A,e){if("WOFF"===e.compression){var t=new Uint8Array(A.buffer,e.offset+2,e.compressedLength-2),i=new Uint8Array(e.length);if(function(A,e){var t,i,n=new s(A,e);do{switch(t=h(n),p(n,2,0)){case 0:i=b(n);break;case 1:i=m(n,a,o);break;case 2:d(n,n.ltree,n.dtree),i=m(n,n.ltree,n.dtree);break;default:i=-3}if(0!==i)throw new Error("Data error")}while(!t);n.destLen<n.dest.length?"function"==typeof n.dest.slice?n.dest.slice(0,n.destLen):n.dest.subarray(0,n.destLen):n.dest}(t,i),i.byteLength!==e.length)throw new Error("Decompression error: "+e.tag+" decompressed length doesn't match recorded length");return{data:new DataView(i.buffer,0),offset:0}}return{data:A,offset:e.offset}}function Oi(A,e){var t,i;e=null==e?{}:e;var n,r,s,a,o,g,I,C,Q,c,B,l,u,E=new mi({empty:!0}),f=new DataView(A,0),h=[],p=sA.getTag(f,0);if(p===String.fromCharCode(0,1,0,0)||"true"===p||"typ1"===p)E.outlinesFormat="truetype",h=Ji(f,n=sA.getUShort(f,4));else if("OTTO"===p)E.outlinesFormat="cff",h=Ji(f,n=sA.getUShort(f,4));else{if("wOFF"!==p)throw new Error("Unsupported OpenType signature "+p);var y=sA.getTag(f,4);if(y===String.fromCharCode(0,1,0,0))E.outlinesFormat="truetype";else{if("OTTO"!==y)throw new Error("Unsupported OpenType flavor "+p);E.outlinesFormat="cff"}h=function(A,e){for(var t=[],i=44,n=0;n<e;n+=1){var r,s=sA.getTag(A,i),a=sA.getULong(A,i+4),o=sA.getULong(A,i+8),g=sA.getULong(A,i+12);r=o<g&&"WOFF",t.push({tag:s,offset:a,compression:r,compressedLength:o,length:g}),i+=20}return t}(f,n=sA.getUShort(f,12))}for(var d=0;d<n;d+=1){var m=h[d],b=void 0;switch(m.tag){case"cmap":b=qi(f,m),E.tables.cmap=oA(b.data,b.offset),E.encoding=new lA(E.tables.cmap);break;case"cvt ":b=qi(f,m),u=new sA.Parser(b.data,b.offset),E.tables.cvt=u.parseShortList(m.length/2);break;case"fvar":s=m;break;case"fpgm":b=qi(f,m),u=new sA.Parser(b.data,b.offset),E.tables.fpgm=u.parseByteList(m.length);break;case"head":b=qi(f,m),E.tables.head=TA(b.data,b.offset),E.unitsPerEm=E.tables.head.unitsPerEm,t=E.tables.head.indexToLocFormat;break;case"hhea":b=qi(f,m),E.tables.hhea=HA(b.data,b.offset),E.ascender=E.tables.hhea.ascender,E.descender=E.tables.hhea.descender,E.numberOfHMetrics=E.tables.hhea.numberOfHMetrics;break;case"hmtx":C=m;break;case"ltag":b=qi(f,m),i=XA(b.data,b.offset);break;case"maxp":b=qi(f,m),E.tables.maxp=jA(b.data,b.offset),E.numGlyphs=E.tables.maxp.numGlyphs;break;case"name":B=m;break;case"OS/2":b=qi(f,m),E.tables.os2=Be(b.data,b.offset);break;case"post":b=qi(f,m),E.tables.post=Ee(b.data,b.offset),E.glyphNames=new EA(E.tables.post);break;case"prep":b=qi(f,m),u=new sA.Parser(b.data,b.offset),E.tables.prep=u.parseByteList(m.length);break;case"glyf":a=m;break;case"loca":c=m;break;case"CFF ":r=m;break;case"kern":Q=m;break;case"GDEF":o=m;break;case"GPOS":g=m;break;case"GSUB":I=m;break;case"meta":l=m}}var D=qi(f,B);if(E.tables.name=Ce(D.data,D.offset,i),E.names=E.tables.name,a&&c){var S=0===t,w=qi(f,c),v=Ri(w.data,w.offset,E.numGlyphs,S),k=qi(f,a);E.glyphs=Ze.parse(k.data,k.offset,v,E,e)}else{if(!r)throw new Error("Font doesn't contain TrueType or CFF outlines.");var x=qi(f,r);OA(x.data,x.offset,E,e)}var G=qi(f,C);if(_A(E,G.data,G.offset,E.numberOfHMetrics,E.numGlyphs,E.glyphs,e),function(A,e){e.lowMemory?function(A){A._IndexToUnicodeMap={};for(var e=A.tables.cmap.glyphIndexMap,t=Object.keys(e),i=0;i<t.length;i+=1){var n=t[i],r=e[n];void 0===A._IndexToUnicodeMap[r]?A._IndexToUnicodeMap[r]={unicodes:[parseInt(n)]}:A._IndexToUnicodeMap[r].unicodes.push(parseInt(n))}}(A):function(A){for(var e,t=A.tables.cmap.glyphIndexMap,i=Object.keys(t),n=0;n<i.length;n+=1){var r=i[n],s=t[r];(e=A.glyphs.get(s)).addUnicode(parseInt(r))}for(var a=0;a<A.glyphs.length;a+=1)e=A.glyphs.get(a),A.cffEncoding?A.isCIDFont?e.name="gid"+a:e.name=A.cffEncoding.charset[a]:A.glyphNames.names&&(e.name=A.glyphNames.glyphIndexToName(a))}(A)}(E,e),Q){var N=qi(f,Q);E.kerningPairs=Mi(N.data,N.offset)}else E.kerningPairs={};if(o){var U=qi(f,o);E.tables.gdef=Ni(U.data,U.offset)}if(g){var F=qi(f,g);E.tables.gpos=Fi(F.data,F.offset),E.position.init()}if(I){var M=qi(f,I);E.tables.gsub=de(M.data,M.offset)}if(s){var R=qi(f,s);E.tables.fvar=Si(R.data,R.offset,E.names)}if(l){var L=qi(f,l);E.tables.meta=be(L.data,L.offset),E.metas=E.tables.meta}return E}const Ki=Object.freeze({__proto__:null,Font:mi,Glyph:hA,Path:w,BoundingBox:S,_parse:sA,parse:Oi,load:function(A,e,t){t=null==t?{}:t;var i="undefined"!=typeof window||t.isUrl?zi:Li;return new Promise((function(n,r){i(A,(function(A,i){if(A){if(e)return e(A);r(A)}var s;try{s=Oi(i,t)}catch(A){if(e)return e(A,null);r(A)}if(e)return e(null,s);n(s)}))}))},loadSync:function(A,e){return Oi(Oe(t(7256).readFileSync(A)),e)}})},4637:(A,e,t)=>{t.d(e,{q:()=>s});var i=/[a-zA-Z0-9:_-]/,n=/[\s\t\r\n]/,r=/['"]/;function s(A){var e="",t=[],s=I,a=null,o=null;function g(e){var t=function(A,e,t){return function(A,e){void 0===e&&(e={});var t=e.offsetLine||0,i=e.offsetColumn||0,n=A.split("\n"),r=0,s=n.map((function(A,e){var t=r+A.length+1,i={start:r,end:t,line:e};return r=t,i})),a=0;function o(A,e){return A.start<=e&&e<A.end}function g(A,e){return{line:t+A.line,column:i+e-A.start,character:e}}return function(e,t){"string"==typeof e&&(e=A.indexOf(e,t||0));for(var i=s[a],n=e>=i.end?1:-1;i;){if(o(i,e))return g(i,e);i=s[a+=n]}}}(A,t)(e,t)}(A,h),i=t.line,n=t.column,r=A.slice(0,h),s=/(^|\n).*$/.exec(r)[0].replace(/\t/g," "),a=A.slice(h),o=""+s+/.*(\n|$)/.exec(a)[0]+"\n"+function(A,e){for(var t="";e--;)t+=" ";return t}(0,s.length)+"^";throw new Error(e+" ("+i+":"+n+"). If this is valid SVG, it's probably a bug in svg-parser. Please raise an issue at https://github.com/Rich-Harris/svg-parser/issues – thanks!\n\n"+o)}function I(){for(;h<A.length&&"<"!==A[h]||!i.test(A[h+1]);)e+=A[h++];return C()}function C(){for(var e="";h<A.length&&"<"!==A[h];)e+=A[h++];return/\S/.test(e)&&a.children.push({type:"text",value:e}),"<"===A[h]?Q:C}function Q(){var e=A[h];if("?"===e)return C;if("!"===e){if("--"===A.slice(h+1,h+3))return c;if("[CDATA["===A.slice(h+1,h+8))return B;if(/doctype/i.test(A.slice(h+1,h+8)))return C}if("/"===e)return l;var i,n={type:"element",tagName:u(),properties:{},children:[]};for(a?a.children.push(n):o=n;h<A.length&&(i=E());)n.properties[i.name]=i.value;var r=!1;return"/"===A[h]&&(h+=1,r=!0),">"!==A[h]&&g("Expected >"),r||(a=n,t.push(n)),C}function c(){var e=A.indexOf("--\x3e",h);return~e||g("expected --\x3e"),h=e+2,C}function B(){var e=A.indexOf("]]>",h);return~e||g("expected ]]>"),a.children.push(A.slice(h+7,e)),h=e+2,C}function l(){var e=u();return e||g("Expected tag name"),e!==a.tagName&&g("Expected closing tag </"+e+"> to match opening tag <"+a.tagName+">"),f(),">"!==A[h]&&g("Expected >"),t.pop(),a=t[t.length-1],C}function u(){for(var e="";h<A.length&&i.test(A[h]);)e+=A[h++];return e}function E(){if(!n.test(A[h]))return null;f();var e=u();if(!e)return null;var t=!0;return f(),"="===A[h]&&(h+=1,f(),t=r.test(A[h])?function(){for(var e=A[h++],t="",i=!1;h<A.length;){var n=A[h++];if(n===e&&!i)return t;"\\"!==n||i||(i=!0),t+=i?"\\"+n:n,i=!1}}():function(){var e="";do{var t=A[h];if(" "===t||">"===t||"/"===t)return e;e+=t,h+=1}while(h<A.length);return e}(),isNaN(t)||""===t.trim()||(t=+t)),{name:e,value:t}}function f(){for(;h<A.length&&n.test(A[h]);)h+=1}for(var h=I.length;h<A.length;)s||g("Unexpected character"),s=s(),h+=1;return s!==C&&g("Unexpected end of input"),"svg"===o.tagName&&(o.metadata=e),{type:"root",children:[o]}}},214:(A,e,t)=>{function i(A,e,t,i){A.width=Math.max(1,Math.min(e,i.limits.maxTextureDimension2D)),A.height=Math.max(1,Math.min(t,i.limits.maxTextureDimension2D))}function n(A,e,t){const n=new ResizeObserver((A=>{var n,r,s,a;for(const o of A)i(o.target,null!==(r=null===(n=o.devicePixelContentBoxSize)||void 0===n?void 0:n[0].inlineSize)&&void 0!==r?r:o.contentBoxSize[0].inlineSize*devicePixelRatio,null!==(a=null===(s=o.devicePixelContentBoxSize)||void 0===s?void 0:s[0].blockSize)&&void 0!==a?a:o.contentBoxSize[0].blockSize*devicePixelRatio,e),t()}));try{n.observe(A,{box:"device-pixel-content-box"})}catch(e){n.observe(A,{box:"content-box"})}i(A,A.clientWidth,A.clientHeight,e)}t.d(e,{A:()=>n})},7608:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{A:()=>o});var n=t(4109),r=t(9146),s=A([n,r]);[n,r]=s.then?(await s)():s;var a=function(A,e,t,i){return new(t||(t=Promise))((function(n,r){function s(A){try{o(i.next(A))}catch(A){r(A)}}function a(A){try{o(i.throw(A))}catch(A){r(A)}}function o(A){var e;A.done?n(A.value):(e=A.value,e instanceof t?e:new t((function(A){A(e)}))).then(s,a)}o((i=i.apply(A,e||[])).next())}))};function o(A,e,t,i,s,o,g,I){return a(this,void 0,void 0,(function*(){const a=Math.min(i,s),C=document.createElement("canvas");C.width=a,C.height=a;const Q=C.getContext("webgpu");Q.configure({device:A,format:e});const c=Object.assign({},n.UI);n.UI.x=(C.width-i)/2,n.UI.y=(C.height-s)/2,n.UI.zoom=1,r.Ay.updateRenderScale(o),g(C,Q).then((()=>{I(C),Q.unconfigure(),n.UI.x=c.x,n.UI.y=c.y,n.UI.zoom=c.zoom,r.Ay.updateRenderScale(t.width/(t.clientWidth*n.UI.zoom))}))}))}i()}catch(g){i(g)}}))},1911:(A,e,t)=>{t.d(e,{A:()=>n});var i=function(A,e,t,i){return new(t||(t=Promise))((function(n,r){function s(A){try{o(i.next(A))}catch(A){r(A)}}function a(A){try{o(i.throw(A))}catch(A){r(A)}}function o(A){var e;A.done?n(A.value):(e=A.value,e instanceof t?e:new t((function(A){A(e)}))).then(s,a)}o((i=i.apply(A,e||[])).next())}))};function n(){return i(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 e=A.features.has("bgra8unorm-storage"),t=yield A.requestDevice({requiredFeatures:e?["bgra8unorm-storage"]:[]});return t.lost.then((A=>{console.error(`WebGPU device was lost: ${A.message}`),A.reason})),{device:t,presentationFormat:navigator.gpu.getPreferredCanvasFormat(),storageFormat:e?navigator.gpu.getPreferredCanvasFormat():"rgba8unorm"}}))}},1549:(A,e,t)=>{t.d(e,{Be:()=>n});const i=(...A)=>{const e=Math.max(...A);return 1+Math.log2(e)|0};function n(A,e,t,n={}){const r=A.createTexture({label:"createTextureFromSource",format:e,mipLevelCount:n.mips?i(t.width,t.height):1,size:[t.width,t.height],usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT});return function(A,e,t,{flipY:i,depthOrArrayLayers:n}={}){A.queue.copyExternalImageToTexture({source:t,flipY:i},{texture:e},{width:t.width,height:t.height,depthOrArrayLayers:n})}(A,r,t,n),r}},2872:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{A:()=>I});var n=t(2842),r=t(4109),s=t(9146),a=A([r,s]);[r,s]=a.then?(await a)():a;const o=1,g=16;class I{constructor(A){this.isPreviousPickDone=!0,this.pickBuffer=A.createBuffer({label:"pick id buffer",size:o*g,usage:GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST}),this.pickTexture=A.createTexture({label:"picking texture color",size:[1,1],format:"rgba32uint",usage:GPUTextureUsage.COPY_SRC|GPUTextureUsage.RENDER_ATTACHMENT})}startPicking(A){const e={label:"our render to canvas renderPass",colorAttachments:[{view:this.pickTexture.createView(),loadOp:"clear",clearValue:[0,0,0,1],storeOp:"store"}]},t=A.beginRenderPass(e);return t.setViewport(0,0,1,1,0,1),t.setScissorRect(0,0,1,1),{pass:t,end:()=>{t.end(),this.isPreviousPickDone&&A.copyTextureToBuffer({texture:this.pickTexture,origin:{x:0,y:0}},{buffer:this.pickBuffer},{width:o})}}}createMatrix(A,e){const t=-(r.Wn.x/A.width*2-1),i=r.Wn.y/A.height*2-1;return[n.A.scaling([A.width,A.height,0]),n.A.translation([t,i,0]),e].reduce(((A,e)=>n.A.multiply(A,e)),n.A.translation([-1,1,0]))}asyncPick(){return A=this,e=void 0,i=function*(){if(this.isPreviousPickDone){this.isPreviousPickDone=!1;try{yield this.pickBuffer.mapAsync(GPUMapMode.READ,0,g*o);const[A,e,t,i]=new Uint32Array(this.pickBuffer.getMappedRange(0,g*o));s.QZ([A,e,t,i]);let n=0;for(;n<r.Wn.afterPickEventsQueue.length;){const{requireNewPick:A,cb:e}=r.Wn.afterPickEventsQueue[n];if(A&&n>0)break;e(),n++}r.Wn.afterPickEventsQueue.splice(0,n),this.pickBuffer.unmap()}catch(A){}this.isPreviousPickDone=!0}},new((t=void 0)||(t=Promise))((function(n,r){function s(A){try{o(i.next(A))}catch(A){r(A)}}function a(A){try{o(i.throw(A))}catch(A){r(A)}}function o(A){var e;A.done?n(A.value):(e=A.value,e instanceof t?e:new t((function(A){A(e)}))).then(s,a)}o((i=i.apply(A,e||[])).next())}));var A,e,t,i}}i()}catch(A){i(A)}}))},688:(A,e,t)=>{t.d(e,{IP:()=>L,ym:()=>M,RW:()=>R,bB:()=>F,DS:()=>U,Ay:()=>K,nj:()=>q,zK:()=>O,oQ:()=>D,Jl:()=>x,np:()=>G,H:()=>k,_J:()=>S,D4:()=>b,R9:()=>z,Zo:()=>N,Fh:()=>w,Q3:()=>v});const i="const PI = 3.14159265358979323846;\nconst EPSILON = 1.1920929e-7;\n\nstruct Vertex {\n @location(0) p0: vec4f, //xy -> corner position, zw -> circle position\n @location(1) p1: vec4f,\n @location(2) p2: vec4f,\n @location(3) color: vec4f,\n @location(4) radius_list: vec3f,\n};\n\nstruct Uniforms {\n worldViewProjection: mat4x4f,\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) @interpolate(flat) p0: vec4f,\n @location(1) @interpolate(flat) p1: vec4f,\n @location(2) @interpolate(flat) p2: vec4f,\n @location(3) @interpolate(flat) color: vec4f,\n @location(4) pixel: vec2f,\n @location(5) @interpolate(flat) radius_list: vec3f,\n @location(6) @interpolate(flat) threshold_list: vec3f,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n\nfn threshold_pythagorean_leg(corner: vec4f, radius: f32) -> f32 {\n let p_circle_dist = distance(corner.xy, corner.zw);\n // Pythagorean theorem, finding one leg of a right triangle when you know the hypotenuse and the other leg.\n return sqrt(p_circle_dist * p_circle_dist - radius * radius);\n}\n\n@vertex fn vs(\n vert: Vertex,\n @builtin(vertex_index) vertex_index : u32\n) -> VertexOutput {\n var out: VertexOutput;\n\n let positions = array<vec2f, 3>(vert.p0.xy, vert.p1.xy, vert.p2.xy);\n out.position = vec4f(positions[vertex_index], 0, 1);\n\n out.pixel = vec2f(out.position.x, out.position.y);\n\n out.position = u.worldViewProjection * out.position;\n\n out.p0 = vert.p0;\n out.p1 = vert.p1;\n out.p2 = vert.p2;\n out.color = vert.color;\n\n out.radius_list = vert.radius_list;\n\n out.threshold_list = vec3f(\n threshold_pythagorean_leg(vert.p0, vert.radius_list.x),\n threshold_pythagorean_leg(vert.p1, vert.radius_list.y),\n threshold_pythagorean_leg(vert.p2, vert.radius_list.z),\n ); // behind this value is a rounded corner\n\n return out;\n}\n\n@fragment fn fs(in: VertexOutput) -> @location(0) vec4f {\n let p0_circle_dist = distance(in.p0.xy, in.pixel) - in.threshold_list.x;\n let p1_circle_dist = distance(in.p1.xy, in.pixel) - in.threshold_list.y;\n let p2_circle_dist = distance(in.p2.xy, in.pixel) - in.threshold_list.z;\n \n let min_circle_dist = min(\n p0_circle_dist,\n min(p1_circle_dist, p2_circle_dist)\n );\n\n var p: vec2f; // closest corner\n var p_circle: vec2f; // closest corner's circle position\n var radius: f32;\n var threshold: f32;\n\n if (abs(min_circle_dist - p0_circle_dist) <= EPSILON) {\n p = in.p0.xy;\n p_circle = in.p0.zw;\n radius = in.radius_list.x;\n threshold = in.threshold_list.x;\n } else if (abs(min_circle_dist - p1_circle_dist) <= EPSILON) {\n p = in.p1.xy;\n p_circle = in.p1.zw;\n radius = in.radius_list.y;\n threshold = in.threshold_list.y;\n } else {\n p = in.p2.xy;\n p_circle = in.p2.zw;\n radius = in.radius_list.z;\n threshold = in.threshold_list.z;\n }\n\n\n let circle_distance = distance(p_circle, in.pixel);\n let edge_width = fwidth(circle_distance);\n\n let circle_alpha = 1.0 - smoothstep(radius - edge_width, radius + edge_width, circle_distance);\n let dist = distance(p, in.pixel);\n let alpha = mix(circle_alpha, 1.0, step(threshold, dist)); // if threshold <= dist, use circle alpha, otherwise use 1.0\n\n return in.color * alpha;\n}\n",n=16,r="struct Uniform {\n filterDim: i32, // x for horizontal, y for vertical\n blockDim: u32,\n sigma: f32, // standard deviation for X (when flip=0) and Y (when flip=1)\n flip: u32,\n}\n\n@group(0) @binding(0) var samp : sampler;\n@group(0) @binding(1) var<uniform> u : Uniform;\n@group(0) @binding(2) var inputTex : texture_2d<f32>;\n@group(0) @binding(3) var outputTex : texture_storage_2d<{presentationFormat}, write>;\n\n// This shader blurs the input texture in one direction, depending on whether\n// |u.flip| 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<vec4f, 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 = (u.filterDim - 1) / 2;\n let dims = vec2<i32>(textureDimensions(inputTex, 0));\n let baseIndex = vec2<i32>(WorkGroupID.xy * vec2(u.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 (u.flip != 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.5, 0.5)) / vec2<f32>(dims),\n 0.0\n ).rgba;\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 (u.flip != 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\n let denom = 2.0 * u.sigma * u.sigma;\n var acc = vec4f(0.0);\n var wsum = 0.0;\n\n for (var f = 0; f < u.filterDim; f++) {\n let rel = f - filterOffset;\n var i = center + rel;\n let w = exp(- (f32(rel * rel)) / denom);\n acc = acc + w * tile[r][i];\n wsum = wsum + w;\n }\n acc = acc / wsum;\n\n textureStore(outputTex, writeIndex, acc);\n }\n }\n }\n}\n",s=128,a=[4,4],o="struct Vertex {\n @location(0) position: vec4f,\n};\n\nstruct Uniforms {\n cameraProjection: 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.cameraProjection * vec4f(vert.position.xy, 0, 1);\n out.texCoord = vert.position.zw;\n \n return out;\n}\n\n@fragment fn fs(in: VertexOutput) -> @location(0) vec4f {\n return textureSample(ourTexture, ourSampler, in.texCoord);\n // let color = textureSample(ourTexture, ourSampler, in.texCoord);\n // if (color.a < 0.1) {\n // return vec4f(0, 0, 1, 0.1);\n // }\n // return color;\n}\n",g=16,I="struct Vertex {\n @location(0) position: vec4f,\n @location(1) id: vec4u,\n};\n\nstruct Uniforms {\n worldViewProjection: mat4x4f\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) texCoord: vec2f,\n @location(1) @interpolate(flat) id: vec4u\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\n out.position = u.worldViewProjection * vec4f(vert.position.xy, 0.0, 1.0);\n out.texCoord = vert.position.zw;\n out.id = vert.id;\n\n return out;\n}\n\n\n@fragment fn fs(in: VertexOutput) -> @location(0) vec4u {\n let alpha = textureSample(ourTexture, ourSampler, in.texCoord).a;\n\n if (alpha < 0.1) {\n discard; // r32uint doesn't support blending so only skipping pixels lefts\n }\n\n return in.id;\n}\n",C=32,Q="const PI = 3.14159265358979323846;\nconst EPSILON = 1.1920929e-7;\n\nstruct Vertex {\n @location(0) p0: vec4f, //xy -> corner position, zw -> circle position\n @location(1) p1: vec4f,\n @location(2) p2: vec4f,\n @location(3) id: vec4u,\n @location(4) radius_list: vec3f,\n};\n\nstruct Uniforms {\n worldViewProjection: mat4x4f,\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) @interpolate(flat) p0: vec4f,\n @location(1) @interpolate(flat) p1: vec4f,\n @location(2) @interpolate(flat) p2: vec4f,\n @location(3) @interpolate(flat) id: vec4u,\n @location(4) pixel: vec2f,\n @location(5) @interpolate(flat) radius_list: vec3f,\n @location(6) @interpolate(flat) threshold_list: vec3f,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n\nfn threshold_pythagorean_leg(corner: vec4f, radius: f32) -> f32 {\n let p_circle_dist = distance(corner.xy, corner.zw);\n // Pythagorean theorem, finding one leg of a right triangle when you know the hypotenuse and the other leg.\n return sqrt(p_circle_dist * p_circle_dist - radius * radius);\n}\n\n@vertex fn vs(\n vert: Vertex,\n @builtin(vertex_index) vertex_index : u32\n) -> VertexOutput {\n var out: VertexOutput;\n\n let positions = array<vec2f, 3>(vert.p0.xy, vert.p1.xy, vert.p2.xy);\n out.position = vec4f(positions[vertex_index], 0, 1);\n\n out.pixel = vec2f(out.position.x, out.position.y);\n\n out.position = u.worldViewProjection * out.position;\n\n out.p0 = vert.p0;\n out.p1 = vert.p1;\n out.p2 = vert.p2;\n out.id = vert.id;\n\n out.radius_list = vert.radius_list;\n\n out.threshold_list = vec3f(\n threshold_pythagorean_leg(vert.p0, vert.radius_list.x),\n threshold_pythagorean_leg(vert.p1, vert.radius_list.y),\n threshold_pythagorean_leg(vert.p2, vert.radius_list.z),\n ); // behind this value is a ounded corner\n\n return out;\n}\n\n@fragment fn fs(in: VertexOutput) -> @location(0) vec4u {\n let p0_circle_dist = distance(in.p0.xy, in.pixel) - in.threshold_list.x;\n let p1_circle_dist = distance(in.p1.xy, in.pixel) - in.threshold_list.y;\n let p2_circle_dist = distance(in.p2.xy, in.pixel) - in.threshold_list.z;\n \n let min_circle_dist = min(\n p0_circle_dist,\n min(p1_circle_dist, p2_circle_dist)\n );\n\n var p: vec2f; // closest corner\n var p_circle: vec2f; // closest corner's circle position\n var radius: f32;\n var threshold: f32;\n\n if (abs(min_circle_dist - p0_circle_dist) <= EPSILON) {\n p = in.p0.xy;\n p_circle = in.p0.zw;\n radius = in.radius_list.x;\n threshold = in.threshold_list.x;\n } else if (abs(min_circle_dist - p1_circle_dist) <= EPSILON) {\n p = in.p1.xy;\n p_circle = in.p1.zw;\n radius = in.radius_list.y;\n threshold = in.threshold_list.y;\n } else {\n p = in.p2.xy;\n p_circle = in.p2.zw;\n radius = in.radius_list.z;\n threshold = in.threshold_list.z;\n }\n\n\n let circle_distance = distance(p_circle, in.pixel);\n let edge_width = fwidth(circle_distance);\n\n let circle_alpha = 1.0 - smoothstep(radius - edge_width, radius + edge_width, circle_distance);\n let dist = distance(p, in.pixel);\n let alpha = mix(circle_alpha, 1.0, step(threshold, dist)); // if threshold <= dist, use circle alpha, otherwise use 1.0\n\n if (alpha < 0.1) {\n discard; // r32uint doesn't support blending so only skipping pixels lefts\n }\n\n return in.id;\n}\n",c=19,B="const STRAIGHT_LINE_THRESHOLD = 1e10;\nconst EPSILON = 1e-10;\nconst PI = 3.141592653589793;\n\nstruct Vertex {\n @location(0) position: vec4f,\n};\n\n@group(0) @binding(1) var texture: texture_storage_2d<rgba32float, read>;\n@group(0) @binding(2) var<uniform> camera_projection: mat4x4f;\n\nstruct VSOutput {\n @builtin(position) position: vec4f,\n @location(0) uv: vec2f,\n @location(1) norm_uv: vec2f,\n};\n\n@vertex fn vs(vert: Vertex) -> VSOutput {\n let size = textureDimensions(texture);\n return VSOutput(\n camera_projection * vec4f(vert.position.xy, 0.0, 1.0),\n vert.position.zw * vec2f(size),\n vert.position.zw,\n );\n}\n\nfn getSample(pos: vec2f) -> vec4f {\n let floor_pos = floor(pos - 0.5);\n let fract_pos = pos - 0.5 - floor_pos;\n\n let p00 = vec2u(floor_pos);\n let p10 = vec2u(floor_pos + vec2f(1.0, 0.0));\n let p01 = vec2u(floor_pos + vec2f(0.0, 1.0));\n let p11 = vec2u(floor_pos + vec2f(1.0, 1.0));\n\n let c00 = textureLoad(texture, p00);\n let c10 = textureLoad(texture, p10);\n let c01 = textureLoad(texture, p01);\n let c11 = textureLoad(texture, p11);\n\n let top = mix(c00, c10, fract_pos.x);\n let bottom = mix(c01, c11, fract_pos.x);\n\n return mix(top, bottom, fract_pos.y);\n}\n\n\n@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {\n // let sdf = textureLoad(texture, vec2u(vsOut.uv));\n let sdf = getSample(vsOut.uv);\n\n let dist = sdf.r;\n let width = fwidth(dist) * 0.5;\n\n let inner_alpha = smoothstep(u.dist_start - width, u.dist_start + width, dist);\n let outer_alpha = smoothstep(u.dist_end - width, u.dist_end + width, dist);\n let alpha = outer_alpha - inner_alpha;\n let color = getColor(sdf, vsOut.uv, vsOut.norm_uv);\n let result = vec4f(color.rgb, color.a * alpha);\n\n return result;\n\n // let stroke_factor = select(0.5, 0.0, sdf.g > 1.0);\n // color = vec4f(0, sdf.g % 1, 0, 1.0);\n // color = vec4f(0, 0, sdf.b / (2 * PI), 1.0);\n // color = vec4f(sdf.r / 100.0, sdf.g % 1, sdf.b / (2 * PI), 1.0);\n // color = select(vec4f(0.5, 0, 0, 1), vec4f(0, 0, 0.5, 1), u32(sdf.r / 20.0) % 2 == 0);\n}\n";function l(A,e,t,i){const n=A.createShaderModule({label:"drawShape shader",code:B+t}),r=4*i,s=A.createRenderPipeline({label:"drawShape pipeline",layout:"auto",vertex:{module:n,entryPoint:"vs",buffers:[{arrayStride:16,attributes:[{shaderLocation:0,offset:0,format:"float32x4"}]}]},fragment:{module:n,entryPoint:"fs",targets:[{format:e,blend:{color:{srcFactor:"src-alpha",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}}}]},multisample:{count:4}});return function(e,t,i,n){const a=A.createBuffer({label:"drawShape vertex buffer",size:i.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(a,0,i),q(a);const o=A.createBuffer({label:"drawShape uniforms",size:r,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(o,0,n),q(o),e.setPipeline(s);const g=A.createBindGroup({label:"drawShape bind group",layout:s.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:o}},{binding:1,resource:t.createView()},{binding:2,resource:{buffer:L.buffer}}]});e.setBindGroup(0,g),e.setVertexBuffer(0,a),e.draw(6)}}const u="\nstruct Uniforms {\n dist_start: f32,\n dist_end: f32,\n padding: vec2f, // Padding for alignment\n color: vec4f,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n\nfn getColor(sdf: vec4f, uv: vec2f, norm_uv: vec2f) -> vec4f {\n return u.color;\n}",E='struct Stop {\n color: vec4f,\n offset: f32,\n}\n\nstruct Uniform {\n dist_start: f32,\n dist_end: f32,\n stops_count: u32,\n padding: u32, // Padding for alignment\n start: vec2f,\n end: vec2f,\n stops: array<Stop, 10>,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniform;\n\n\nfn getColor(sdf: vec4f, world_uv: vec2f, uv: vec2f) -> vec4f {\n // Fallbacks\n if (u.stops_count == 0u) {\n return vec4f(1.0, 1.0, 1.0, 1.0);\n }\n if (u.stops_count == 1u) {\n return u.stops[0u].color;\n }\n\n // Gradient axis given by start -> end in uv space\n let dir = u.end - u.start;\n let len2_raw = dot(dir, dir);\n let len2 = max(len2_raw, 1e-8);\n\n // Project current uv to axis; get normalized parameter t in [0, 1]\n var t_uv: f32;\n if (len2_raw < 1e-7) {\n // Degenerate axis: fall back to horizontal gradient across world_uv.x\n t_uv = clamp(uv.x, 0.0, 1.0);\n } else {\n // project vector with uv positon onto gradient vector to see "how far" is the pixel along the gradient line\n // len2 to tonalize\n t_uv = clamp(dot(uv - u.start, dir) / len2, 0.0, 1.0);\n }\n\n // Find lower/upper stops around t_uv using stop offsets\n let last_index = u.stops_count - 1u;\n var lower_t = -1.0;\n var lower_color = u.stops[0u].color;\n var upper_t = 2.0;\n var upper_color = u.stops[last_index].color;\n\n for (var i: u32 = 0u; i < u.stops_count; i = i + 1u) {\n let ti = clamp(u.stops[i].offset, 0.0, 1.0);\n if (ti <= t_uv && ti > lower_t) {\n lower_t = ti;\n lower_color = u.stops[i].color;\n }\n if (ti >= t_uv && ti < upper_t) {\n upper_t = ti;\n upper_color = u.stops[i].color;\n }\n }\n\n // Boundaries: if t is before the first stop or after the last stop\n if (lower_t < 0.0) {\n return upper_color; // before first stop\n }\n if (upper_t > 1.5) {\n return lower_color; // after last stop\n }\n\n // Interpolate between the two surrounding stops\n let denom = max(upper_t - lower_t, 1e-8);\n let a = clamp((t_uv - lower_t) / denom, 0.0, 1.0);\n return mix(lower_color, upper_color, a);\n}',f="struct Stop {\n color: vec4f,\n offset: f32,\n}\n\nstruct Uniform {\n dist_start: f32,\n dist_end: f32,\n stops_count: u32,\n radius_ratio: f32, // vertical radius / horizontal radius (to create ellipse)\n center: vec2f, // Center point of radial gradient\n destination: vec2f, // because we have scale, the angle between center an destination is visible in the gradient!\n stops: array<Stop, 10>,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniform;\n\nfn getColor(sdf: vec4f, world_uv: vec2f, uv: vec2f) -> vec4f {\n // Fallbacks\n if (u.stops_count == 0u) {\n return vec4f(1.0, 1.0, 1.0, 1.0);\n }\n if (u.stops_count == 1u) {\n return u.stops[0u].color;\n }\n\n // Calculate offset from center\n let offset = uv - u.center;\n \n // Vector from center to destination encodes major axis direction and length\n let dest_offset = u.destination - u.center;\n let hr = length(dest_offset);\n let inv_hr = 1.0 / max(hr, 1e-8);\n let inv_vr = inv_hr / max(u.radius_ratio, 1e-8);\n\n // Orthonormal basis aligned with gradient: u along destination, v perpendicular\n let u_dir = dest_offset * inv_hr; // normalized major axis\n let v_dir = vec2f(-u_dir.y, u_dir.x); // normalized minor axis\n\n // Project offset into this basis and normalize by radii\n let scaled_x = dot(offset, u_dir) * inv_hr; // == dot(offset, dest_offset) * inv_hr^2\n let scaled_y = dot(offset, v_dir) * inv_vr; // divide by vertical radius\n \n // Calculate normalized distance (0 at center, 1 at edge of ellipse)\n let normalized_dist = sqrt(scaled_x * scaled_x + scaled_y * scaled_y);\n let t_uv = clamp(normalized_dist, 0.0, 1.0);\n\n // Find lower/upper stops around t_uv using stop offsets\n let last_index = u.stops_count - 1u;\n var lower_t = -1.0;\n var lower_color = u.stops[0u].color;\n var upper_t = 2.0;\n var upper_color = u.stops[last_index].color;\n\n for (var i: u32 = 0u; i < u.stops_count; i = i + 1u) {\n let ti = clamp(u.stops[i].offset, 0.0, 1.0);\n if (ti <= t_uv && ti > lower_t) {\n lower_t = ti;\n lower_color = u.stops[i].color;\n }\n if (ti >= t_uv && ti < upper_t) {\n upper_t = ti;\n upper_color = u.stops[i].color;\n }\n }\n\n // Boundaries: if t is before the first stop or after the last stop\n if (lower_t < 0.0) {\n return upper_color; // before first stop\n }\n if (upper_t > 1.5) {\n return lower_color; // after last stop\n }\n\n // Interpolate between the two surrounding stops\n let denom = max(upper_t - lower_t, 1e-8);\n let a = clamp((t_uv - lower_t) / denom, 0.0, 1.0);\n return mix(lower_color, upper_color, a);\n}",h="const STRAIGHT_LINE_THRESHOLD = 1e10;\nconst EPSILON = 1e-10;\n\nstruct Vertex {\n @location(0) position: vec4f,\n @location(1) id: vec4u,\n};\n\nstruct Uniforms {\n dist_start: f32,\n dist_end: f32,\n};\n\n@group(0) @binding(0) var<uniform> camera_projection: mat4x4f;\n@group(0) @binding(1) var<uniform> u: Uniforms;\n@group(0) @binding(2) var texture: texture_storage_2d<rgba32float, read>;\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) uv: vec2f,\n @location(1) @interpolate(flat) id: vec4u\n};\n\n@vertex fn vs(vert: Vertex) -> VertexOutput {\n var out: VertexOutput;\n\n out.position = camera_projection * vec4f(vert.position.xy, 0.0, 1.0);\n out.id = vert.id;\n\n let size = textureDimensions(texture);\n out.uv = vert.position.zw * vec2f(size);\n\n return out;\n}\n\n@fragment fn fs(in: VertexOutput) -> @location(0) vec4u {\n let dist = textureLoad(texture, vec2u(in.uv)).r;\n\n if (dist > u.dist_start || dist < u.dist_end) {\n discard;\n }\n\n return in.id;\n}\n",p="const STRAIGHT_LINE_THRESHOLD = 1e10;\nconst EPSILON = 1e-10;\nconst PI = 3.141592653589793;\n\nstruct CubicBezier {\n p0: vec2f,\n p1: vec2f,\n p2: vec2f,\n p3: vec2f,\n};\n\n@group(0) @binding(0) var tex: texture_storage_2d<rgba32float, write>;\n@group(0) @binding(1) var<storage, read> curves: array<vec2f>;\n\n@compute @workgroup_size(1) fn cs(\n @builtin(global_invocation_id) id : vec3u\n) {\n let pos = vec2f(id.xy) + vec2f(0.5, 0.5);\n let shape_info = evaluate_shape(pos);\n\n textureStore(tex, id.xy, vec4f(\n shape_info.signed_distance,\n shape_info.t,\n shape_info.angle,\n 1.0\n ));\n}\n\n\n// Evaluate cubic Bézier at parameter t\nfn bezier_point(curve: CubicBezier, t: f32) -> vec2f {\n let t2 = t * t;\n let t3 = t2 * t;\n let one_minus_t = 1.0 - t;\n let one_minus_t2 = one_minus_t * one_minus_t;\n let one_minus_t3 = one_minus_t2 * one_minus_t;\n \n return curve.p0 * one_minus_t3 + \n 3.0 * curve.p1 * t * one_minus_t2 + \n 3.0 * curve.p2 * t2 * one_minus_t + \n curve.p3 * t3;\n}\n\n// First derivative of cubic Bézier\nfn bezier_derivative(curve: CubicBezier, t: f32) -> vec2f {\n let one_minus_t = 1.0 - t;\n return 3.0 * one_minus_t * one_minus_t * (curve.p1 - curve.p0) +\n 6.0 * t * one_minus_t * (curve.p2 - curve.p1) +\n 3.0 * t * t * (curve.p3 - curve.p2);\n}\n\n// Second derivative of cubic Bézier\nfn bezier_second_derivative(curve: CubicBezier, t: f32) -> vec2f {\n return 6.0 * (1.0 - t) * (curve.p2 - 2.0 * curve.p1 + curve.p0) +\n 6.0 * t * (curve.p3 - 2.0 * curve.p2 + curve.p1);\n}\n\n// Find closest point on cubic Bézier curve to given point using analytical method\nfn closest_point_on_bezier(point: vec2f, curve: CubicBezier) -> f32 {\n // At the closest point, (P(t) - point) ⊥ P'(t)\n // This gives us: dot(P(t) - point, P'(t)) = 0\n // We can solve this quintic equation analytically or use Newton-Raphson\n \n // Start with a good initial guess using the control polygon\n var best_t = initial_guess_closest_point(point, curve);\n // if there is any weird artifact in the middle of the shape, then it's most likely because of initial guess!\n \n // Newton-Raphson to find exact solution\n for (var i = 0; i < 5; i++) {\n let curve_point = bezier_point(curve, best_t);\n let derivative = bezier_derivative(curve, best_t);\n let second_derivative = bezier_second_derivative(curve, best_t);\n \n let diff = curve_point - point;\n \n // f(t) = dot(P(t) - point, P'(t)) = 0\n let f = dot(diff, derivative);\n \n // f'(t) = dot(P'(t), P'(t)) + dot(P(t) - point, P''(t))\n let df = dot(derivative, derivative) + dot(diff, second_derivative);\n \n if (abs(df) < 1e-8) { break; }\n \n var new_t = best_t - f / df;\n \n // Clamp to valid range\n new_t = clamp(new_t, 0.0, 1.0);\n \n if (abs(new_t - best_t) < 1e-8) { break; }\n best_t = new_t;\n }\n \n return best_t;\n}\n\n// Get initial guess for closest point using hierarchical sampling\nfn initial_guess_closest_point(point: vec2f, curve: CubicBezier) -> f32 {\n // Stage 1: Coarse sampling to find approximate region\n var best_t = 0.0;\n var min_dist_sq = 1e10;\n \n let coarse_samples = 16; // More samples for better coverage\n for (var i = 0; i <= coarse_samples; i++) {\n let t = f32(i) / f32(coarse_samples);\n let curve_point = bezier_point(curve, t);\n let dist_sq = dot(curve_point - point, curve_point - point);\n \n if (dist_sq < min_dist_sq) {\n min_dist_sq = dist_sq;\n best_t = t;\n }\n }\n \n // Stage 2: Refine in the neighborhood of the best coarse sample\n let refine_range = 1.0 / f32(coarse_samples); // Search around ±one sample interval\n let t_min = max(0.0, best_t - refine_range);\n let t_max = min(1.0, best_t + refine_range);\n \n let fine_samples = 8;\n for (var i = 0; i <= fine_samples; i++) {\n let t = t_min + (t_max - t_min) * f32(i) / f32(fine_samples);\n let curve_point = bezier_point(curve, t);\n let dist_sq = dot(curve_point - point, curve_point - point);\n \n if (dist_sq < min_dist_sq) {\n min_dist_sq = dist_sq;\n best_t = t;\n }\n }\n \n return best_t;\n}\n\n// Project point onto line segment and return parameter [0,1]\nfn project_point_to_line_segment(point: vec2f, line_start: vec2f, line_end: vec2f) -> f32 {\n let line_vec = line_end - line_start;\n let point_vec = point - line_start;\n \n let line_length_sq = dot(line_vec, line_vec);\n \n if (line_length_sq < 1e-8) {\n return 0.0; // Degenerate line\n }\n \n let t = dot(point_vec, line_vec) / line_length_sq;\n return clamp(t, 0.0, 1.0);\n}\n\n// Calculate distance from point to line segment\nfn distance_to_line_segment(point: vec2f, line_start: vec2f, line_end: vec2f) -> f32 {\n let line_vec = line_end - line_start;\n let point_vec = point - line_start;\n \n let line_length_sq = dot(line_vec, line_vec);\n \n if (line_length_sq < 1e-8) {\n // Degenerate line - distance to start point\n return length(point_vec);\n }\n \n let t = dot(point_vec, line_vec) / line_length_sq;\n \n if (t <= 0.0) {\n // Closest point is the start of the line segment\n return length(point_vec);\n } else if (t >= 1.0) {\n // Closest point is the end of the line segment\n return length(point - line_end);\n } else {\n // Closest point is on the line segment\n let closest_point = line_start + t * line_vec;\n return length(point - closest_point);\n }\n}\n\n// Calculate winding number contribution from a line segment\nfn line_winding_contribution(point: vec2f, line_start: vec2f, line_end: vec2f) -> f32 {\n // Vector from query point to line endpoints\n let v1 = line_start - point;\n let v2 = line_end - point;\n \n // Skip if either point is very close to avoid numerical issues\n let dist1 = length(v1);\n let dist2 = length(v2);\n if (dist1 < 1e-6 || dist2 < 1e-6) {\n return 0.0;\n }\n \n // Normalize vectors\n let n1 = v1 / dist1;\n let n2 = v2 / dist2;\n \n // Calculate signed angle using atan2 for proper quadrant handling\n let cross_prod = n1.x * n2.y - n1.y * n2.x;\n let dot_prod = dot(n1, n2);\n \n // Use atan2 for proper quadrant handling\n let angle = atan2(cross_prod, dot_prod);\n \n return angle / (2.0 * 3.14159);\n}\n\n// Ray casting: count intersections of horizontal ray with curve\nfn ray_cast_curve_crossing(point: vec2f, curve: CubicBezier) -> i32 {\n // Quick Y-bounds check - if point is outside Y range, no intersection possible\n let y_min = min(min(curve.p0.y, curve.p1.y), min(curve.p2.y, curve.p3.y));\n let y_max = max(max(curve.p0.y, curve.p1.y), max(curve.p2.y, curve.p3.y));\n let x_min = max(max(curve.p0.x, curve.p1.x), max(curve.p2.x, curve.p3.x));\n \n if (point.y < y_min || point.y > y_max || point.x > x_min) {\n return 0;\n }\n \n // Sample the curve at regular intervals to find intersections\n var crossings = 0;\n let samples = 32; // Good balance between accuracy and performance\n \n for (var i = 0; i < samples; i++) {\n let t1 = f32(i) / f32(samples);\n let t2 = f32(i + 1) / f32(samples);\n \n let p1 = bezier_point(curve, t1);\n let p2 = bezier_point(curve, t2);\n \n // Check if this segment crosses the horizontal ray\n if (ray_crosses_segment(point, p1, p2)) {\n // Calculate the actual intersection X coordinate\n let intersection_x = get_ray_intersection_x(point.y, p1, p2);\n \n // Only count if intersection is to the right of the point\n if (intersection_x > point.x) {\n // Determine crossing direction for proper winding\n if (p1.y < point.y && p2.y >= point.y) {\n crossings += 1; // Upward crossing\n } else if (p1.y >= point.y && p2.y < point.y) {\n crossings -= 1; // Downward crossing\n }\n }\n }\n }\n \n return crossings;\n}\n\n// Check if horizontal ray from point crosses the line segment\nfn ray_crosses_segment(point: vec2f, p1: vec2f, p2: vec2f) -> bool {\n // Check if the segment crosses the horizontal line at point.y\n return (p1.y < point.y && p2.y >= point.y) || (p1.y >= point.y && p2.y < point.y);\n}\n\n// Calculate X coordinate where horizontal ray intersects line segment\nfn get_ray_intersection_x(ray_y: f32, p1: vec2f, p2: vec2f) -> f32 {\n if (abs(p2.y - p1.y) < 1e-8) {\n // Horizontal line - return leftmost X\n return min(p1.x, p2.x);\n }\n \n // Linear interpolation to find intersection X\n let t = (ray_y - p1.y) / (p2.y - p1.y);\n return p1.x + t * (p2.x - p1.x);\n}\n\n// Helper function: distance from point to line (for flatness test)\nfn distance_point_to_line(point: vec2f, line_start: vec2f, line_end: vec2f) -> f32 {\n let line_vec = line_end - line_start;\n let point_vec = point - line_start;\n \n let line_length_sq = dot(line_vec, line_vec);\n if (line_length_sq < 1e-8) {\n return length(point_vec);\n }\n \n let t = dot(point_vec, line_vec) / line_length_sq;\n let closest = line_start + clamp(t, 0.0, 1.0) * line_vec;\n return length(point - closest);\n}\n\nstruct ShapeInfo {\n signed_distance: f32,\n t: f32,\n angle: f32\n}\n\n// Main shape evaluation function using SDF approach with ray casting\nfn evaluate_shape(point: vec2f) -> ShapeInfo {\n var total_crossings: i32 = 0;\n var closest_curve_idx = 0u;\n var closest_t = 0.0;\n var min_distance: f32 = 1e+10;\n\n // For each curve, find closest point and count ray crossings\n let num_curves = arrayLength(&curves) / 4;\n for (var i = 0u; i < num_curves; i++) {\n let curve = CubicBezier(\n curves[i * 4 + 0],\n curves[i * 4 + 1],\n curves[i * 4 + 2],\n curves[i * 4 + 3]\n );\n\n // Check if this is a straight line,\n // we could check also p2, but at this point we should receive only\n // straight line on both handles, not a case for just one straight handle,\n // those are changed to have sibling cp value\n let is_straight_line = curve.p1.x > STRAIGHT_LINE_THRESHOLD;\n // let is_straight_line = curve.p1.x > STRAIGHT_LINE_THRESHOLD && curve.p2.x > STRAIGHT_LINE_THRESHOLD;\n\n\n if (is_straight_line) {\n // Handle as straight line from p0 to p3\n // if (u.stroke_width >= EPSILON) {\n let distance = distance_to_line_segment(point, curve.p0, curve.p3);\n // }\n if (distance < min_distance) {\n closest_curve_idx = i;\n closest_t = project_point_to_line_segment(point, curve.p0, curve.p3);\n min_distance = distance;\n }\n \n // Simple ray casting for line segment\n if (ray_crosses_segment(point, curve.p0, curve.p3)) {\n let intersection_x = get_ray_intersection_x(point.y, curve.p0, curve.p3);\n if (intersection_x > point.x) {\n if (curve.p0.y < point.y && curve.p3.y >= point.y) {\n total_crossings += 1; // Upward crossing\n } else if (curve.p0.y >= point.y && curve.p3.y < point.y) {\n total_crossings -= 1; // Downward crossing\n }\n }\n }\n } else {\n // Handle as normal cubic Bézier curve\n\n // if (u.stroke_width >= EPSILON) {\n let t = closest_point_on_bezier(point, curve);\n let closest_point = bezier_point(curve, t);\n let distance = length(point - closest_point);\n if (distance < min_distance) {\n closest_curve_idx = i;\n closest_t = t;\n min_distance = distance;\n }\n // }\n \n // Ray casting for curve\n total_crossings += ray_cast_curve_crossing(point, curve);\n }\n \n // min_distance = min(min_distance, distance);\n }\n\n var curve = CubicBezier(\n curves[closest_curve_idx * 4 + 0],\n curves[closest_curve_idx * 4 + 1],\n curves[closest_curve_idx * 4 + 2],\n curves[closest_curve_idx * 4 + 3]\n );\n\n // handling straight line case\n if (curve.p1.x > STRAIGHT_LINE_THRESHOLD) {\n curve.p1 = curve.p0;\n curve.p2 = curve.p3;\n }\n\n let closest_point = bezier_point(curve, closest_t);\n let angle = PI + atan2(point.y - closest_point.y, point.x - closest_point.x);\n \n // Determine if point is inside using odd-even rule (ray casting)\n // Count total crossings and check if odd\n let crossing_count = abs(total_crossings);\n let is_inside = (crossing_count % 2) == 1;\n let signed_dist = select(-min_distance, min_distance, is_inside);\n // let pixel_gradient = fwidth(signed_dist);\n \n // Anti-aliased fill (negative distance = inside)\n // let fill_alpha = smoothstep(pixel_gradient, -pixel_gradient, signed_dist);\n \n // Anti-aliased stroke (based on distance to curve boundary)\n // let stroke_half_width = u.stroke_width * 0.5;\n // let stroke_alpha = smoothstep(stroke_half_width + pixel_gradient, stroke_half_width - pixel_gradient, abs(signed_dist));\n return ShapeInfo(signed_dist, f32(closest_curve_idx) + closest_t, angle);\n}",y="struct Uniform {\n placement_start: vec2f,\n placement_size: vec2f,\n};\n\n@group(0) @binding(0) var destination_tex: texture_storage_2d<rgba32float, write>;\n@group(0) @binding(1) var source_tex: texture_storage_2d<rgba32float, read>;\n@group(0) @binding(2) var depth_tex: texture_storage_2d<r32float, read_write>;\n@group(0) @binding(3) var<uniform> u: Uniform;\n\n@compute @workgroup_size(1) fn cs(\n @builtin(global_invocation_id) id : vec3u\n) {\n let texel_pos = vec2f(id.xy) + vec2f(0.5);\n\n let dest_pos = vec2i(u.placement_start + texel_pos);\n if (any(dest_pos < vec2i(0)) || any(dest_pos >= vec2i(textureDimensions(destination_tex)))) {\n return;\n }\n\n let ratio_source_tex_to_placement = vec2f(textureDimensions(source_tex)) / u.placement_size; // texture doesn't to be same size as placement_size!\n let depth = textureLoad(depth_tex, dest_pos).r;\n let source_texel = getSample(texel_pos * ratio_source_tex_to_placement);\n let scaled_dist = source_texel.r / ratio_source_tex_to_placement.x; // we assume all sizes keeps their ratio width / height, so we can use .x or .y here\n\n if (scaled_dist > depth){\n textureStore(destination_tex, dest_pos, vec4f(scaled_dist, source_texel.g, source_texel.b, source_texel.a));\n textureStore(depth_tex, dest_pos, vec4f(scaled_dist));\n }\n}\n\nfn getSample(pos: vec2f) -> vec4f {\n let floor_pos = floor(pos - 0.5);\n let fract_pos = (pos - 0.5) - floor_pos;\n\n let p00 = vec2u(floor_pos);\n let p10 = vec2u(floor_pos + vec2f(1.0, 0.0));\n let p01 = vec2u(floor_pos + vec2f(0.0, 1.0));\n let p11 = vec2u(floor_pos + vec2f(1.0, 1.0));\n\n let c00 = textureLoad(source_tex, p00);\n let c10 = textureLoad(source_tex, p10);\n let c01 = textureLoad(source_tex, p01);\n let c11 = textureLoad(source_tex, p11);\n\n let top = mix(c00, c10, fract_pos.x);\n let bottom = mix(c01, c11, fract_pos.x);\n\n return mix(top, bottom, fract_pos.y);\n}",d="@group(0) @binding(0) var texture: texture_storage_2d<r32float, write>;\n\n@compute @workgroup_size(1)\nfn main(@builtin(global_invocation_id) id: vec3u) {\n textureStore(texture, id.xy, vec4f(-3.402823466e+38));\n}",m="@group(0) @binding(0) var texture: texture_storage_2d<rgba32float, write>;\n\n@compute @workgroup_size(1)\nfn main(@builtin(global_invocation_id) id: vec3u) {\n textureStore(texture, id.xy, vec4f(-3.402823466e+38));\n}";let b,D,S,w,v,k,x,G,N,U,F,M,R;const L={buffer:null};let z,J=[];function q(A){J.push(A)}function O(){J.forEach((A=>A.destroy())),J=[]}function K(A,e){L.buffer=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),z=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),b=function(A,e){const t=A.createShaderModule({label:"draw triangle module",code:i}),r=A.createRenderPipeline({label:"draw triangle pipeline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:4*n,stepMode:"instance",attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"float32x4"},{shaderLocation:2,offset:32,format:"float32x4"},{shaderLocation:3,offset:48,format:"unorm8x4"},{shaderLocation:4,offset:52,format:"float32x3"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e,blend:{color:{srcFactor:"one",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}}}]},multisample:{count:4}}),s=A.createBindGroup({layout:r.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:L.buffer}}]});return function(e,t){const i=t.byteLength/(4*n),a=A.createBuffer({label:"draw triangle - vertex buffer",size:t.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(a,0,t),q(a),e.setPipeline(r),e.setVertexBuffer(0,a),e.setBindGroup(0,s),e.draw(3,i)}}(A,e),D=function(A,e){const t=A.createShaderModule({label:"blur shader module",code:r.replace("{presentationFormat}",e)}),i=A.createComputePipeline({layout:"auto",compute:{module:t,entryPoint:"main"}}),n=A.createSampler({magFilter:"linear",minFilter:"linear"});return function(e,t,r,o,g,I,C){const Q=A.createBuffer({size:16,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.UNIFORM}),c=A.createBuffer({size:16,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.UNIFORM}),B=[A.createTexture({label:"draw blur swap texture",size:{width:t.width,height:t.height},format:t.format,usage:GPUTextureUsage.STORAGE_BINDING|GPUTextureUsage.TEXTURE_BINDING}),t],l=A.createBindGroup({layout:i.getBindGroupLayout(0),entries:[{binding:0,resource:n},{binding:1,resource:{buffer:Q}},{binding:2,resource:B[1].createView()},{binding:3,resource:B[0].createView()}]}),u=A.createBindGroup({layout:i.getBindGroupLayout(0),entries:[{binding:0,resource:n},{binding:1,resource:{buffer:c}},{binding:2,resource:B[0].createView()},{binding:3,resource:B[1].createView()}]}),E=Math.max(1,s-(o-1)),f=Math.max(1,s-(g-1)),h=new DataView(new ArrayBuffer(16));h.setInt32(0,o,!0),h.setUint32(4,E,!0),h.setFloat32(8,I,!0),h.setUint32(12,0,!0);const p=new DataView(new ArrayBuffer(16));p.setInt32(0,g,!0),p.setUint32(4,f,!0),p.setFloat32(8,C,!0),p.setUint32(12,1,!0),A.queue.writeBuffer(Q,0,h),A.queue.writeBuffer(c,0,p);const y=e.beginComputePass({label:"blur-pass"});y.setPipeline(i);for(let A=0;A<r;++A)y.setBindGroup(0,l),y.dispatchWorkgroups(Math.ceil(t.width/E),Math.ceil(t.height/a[1])),y.setBindGroup(0,u),y.dispatchWorkgroups(Math.ceil(t.height/f),Math.ceil(t.width/a[1]));y.end(),q(B[0]),q(Q),q(c)}}(A,e),S=function(A,e){const t=A.createShaderModule({label:"draw texture module",code:o}),i=A.createSampler({minFilter:"linear",magFilter:"linear"}),n=A.createRenderPipeline({label:"draw texture pipeline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:g,attributes:[{shaderLocation:0,offset:0,format:"float32x4"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e,blend:{color:{srcFactor:"one",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}}}]},multisample:{count:4}}),r=new WeakMap;return function(e,t,s){const a=t.byteLength/g,o=A.createBuffer({label:"draw texture - vertex buffer",size:t.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(o,0,t);let I=r.get(s);I||(I=A.createBindGroup({layout:n.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:L.buffer}},{binding:1,resource:i},{binding:2,resource:s.createView()}]}),r.set(s,I)),e.setPipeline(n),e.setVertexBuffer(0,o),e.setBindGroup(0,I),e.draw(a)}}(A,e),w=function(A,e){const t=A.createShaderModule({label:"pick texture module",code:I}),i=A.createSampler({minFilter:"linear",magFilter:"linear"}),n=A.createRenderPipeline({label:"pick texture pipeline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:C,attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"uint32x4"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:"rgba32uint"}]}}),r=new WeakMap;return function(t,s,a){const o=s.byteLength/C,g=A.createBuffer({label:"pick texture - vertex buffer",size:s.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(g,0,s);let I=r.get(a);I||(I=A.createBindGroup({layout:n.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:e}},{binding:1,resource:i},{binding:2,resource:a.createView()}]}),r.set(a,I)),t.setPipeline(n),t.setVertexBuffer(0,g),t.setBindGroup(0,I),t.draw(o)}}(A,z),v=function(A,e){const t=A.createShaderModule({label:"pick triangle module",code:Q}),i=A.createRenderPipeline({label:"pick triangle pipeline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:4*c,stepMode:"instance",attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"float32x4"},{shaderLocation:2,offset:32,format:"float32x4"},{shaderLocation:3,offset:48,format:"uint32x4"},{shaderLocation:4,offset:64,format:"float32x3"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:"rgba32uint"}]}});let n=null;return function(t,r){const s=r.byteLength/(4*c),a=A.createBuffer({label:"pick triangle vertex buffer vertices",size:r.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(a,0,r),n||(n=A.createBindGroup({layout:i.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:e}}]})),t.setPipeline(i),t.setVertexBuffer(0,a),t.setBindGroup(0,n),t.draw(3,s)}}(A,z),k=l(A,e,u,8),x=l(A,e,E,88),G=l(A,e,f,88),N=function(A,e){const t=A.createShaderModule({label:"pickShape shader",code:h}),i=A.createRenderPipeline({label:"pickShape pipeline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:32,attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"uint32x4"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:"rgba32uint"}]}});return function(t,n,r,s){const a=n.byteLength/32,o=A.createBuffer({label:"drawShape uniforms",size:r.byteLength,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(o,0,r),q(o);const g=A.createBuffer({label:"pick texture - vertex buffer",size:n.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(g,0,n),q(g);const I=A.createBindGroup({layout:i.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:e}},{binding:1,resource:{buffer:o}},{binding:2,resource:s.createView()}]});t.setPipeline(i),t.setVertexBuffer(0,g),t.setBindGroup(0,I),t.draw(a)}}(A,z),U=function(A){const e=A.createShaderModule({label:"computeShape shader",code:p}),t=A.createComputePipeline({label:"computeShape pipeline",layout:"auto",compute:{module:e}});return function(e,i,n){const r=A.createBuffer({label:"computeShape curves buffer",size:i.byteLength,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(r,0,i),q(r),e.setPipeline(t);const s=A.createBindGroup({layout:t.getBindGroupLayout(0),entries:[{binding:0,resource:n.createView()},{binding:1,resource:{buffer:r}}]});e.setBindGroup(0,s),e.dispatchWorkgroups(n.width,n.height)}}(A),F=function(A){const e=A.createShaderModule({label:"combineSdf shader",code:y}),t=A.createComputePipeline({label:"combineSdf pipeline",layout:"auto",compute:{module:e}});return function(e,i,n,r,s){const a=A.createBuffer({label:"combine sdf uniform buffer",size:s.byteLength,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(a,0,s),q(a),e.setPipeline(t);const o=A.createBindGroup({layout:t.getBindGroupLayout(0),entries:[{binding:0,resource:i.createView()},{binding:1,resource:n.createView()},{binding:2,resource:r.createView()},{binding:3,resource:{buffer:a}}]});e.setBindGroup(0,o);const g=s.getFloat32(8,!0),I=s.getFloat32(12,!0);e.dispatchWorkgroups(g,I)}}(A),M=function(A){const e=A.createShaderModule({label:"fill texture with max float shader module",code:d}),t=A.createComputePipeline({layout:"auto",compute:{module:e}});return function(e,i){const n=A.createBindGroup({layout:t.getBindGroupLayout(0),entries:[{binding:0,resource:i.createView()}]});e.setPipeline(t),e.setBindGroup(0,n),e.dispatchWorkgroups(i.width,i.height)}}(A),R=function(A){const e=A.createShaderModule({label:"fill texture with max float shader module",code:m}),t=A.createComputePipeline({layout:"auto",compute:{module:e}});return function(e,i){const n=A.createBindGroup({layout:t.getBindGroupLayout(0),entries:[{binding:0,resource:i.createView()}]});e.setPipeline(t),e.setBindGroup(0,n),e.dispatchWorkgroups(i.width,i.height)}}(A)}},3438:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{w:()=>C,z:()=>Q});var n=t(688),r=t(2842),s=t(2633),a=t(4302),o=t(238),g=A([s,a]);[s,a]=g.then?(await g)():g;let I=()=>{throw new Error("Cache not started")};function C(){I()}function Q(A,e,t,i,g,C){const Q=i.max_x-i.min_x,c=i.max_y-i.min_y,B=a.yE(t,g,C),l={label:"texture cache pass",colorAttachments:[{view:(0,o.A)(A,g,C,B.format).createView(),resolveTarget:B.createView(),loadOp:"clear",storeOp:"store"}]},u=e.beginRenderPass(l);(0,s.H)(u);const E=A.createBuffer({label:"texture cache - matrix buffer",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),f=r.A.ortho(i.min_x,i.min_x+Q,i.min_y+c,i.min_y,1,-1);A.queue.writeBuffer(E,0,f);const h=n.IP.buffer;n.IP.buffer=E,I=()=>{u.end(),n.IP.buffer=h,(0,n.nj)(E)},a.Uw(t,B)}i()}catch(c){i(c)}}))},5270:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{Al:()=>B,DP:()=>l,rU:()=>u});var n=t(191),r=t(945),s=t(5671),a=t(4302),o=t(9146),g=A([a,o]);[a,o]=g.then?(await g)():g;var I=function(A,e,t,i){return new(t||(t=Promise))((function(n,r){function s(A){try{o(i.next(A))}catch(A){r(A)}}function a(A){try{o(i.throw(A))}catch(A){r(A)}}function o(A){var e;A.done?n(A.value):(e=A.value,e instanceof t?e:new t((function(A){A(e)}))).then(s,a)}o((i=i.apply(A,e||[])).next())}))};const C=250,Q=10;let c;function B(){return I(this,void 0,void 0,(function*(){try{const A=fetch(n).then((A=>A.arrayBuffer()));c=r.Ay.parse(yield A)}catch(A){console.error("Failed to load font",A)}}))}function l(A,e){const t=String.fromCharCode(A),i=String.fromCharCode(e),n=c.charToGlyph(t),r=c.charToGlyph(i);return c.getKerningValue(n,r)/c.unitsPerEm}function u(A,e){var t;const i=String.fromCharCode(e),n=c.getPath(i,0,0,1),r=n.toPathData(5),g=(0,s.A)(r),I=[],{x1:B,x2:l,y1:u,y2:E}=n.getBoundingBox();g.forEach((A=>{for(let e=0;e<A.length;e+=3){const t=A.slice(e,e+4).map((A=>({x:A.x-B,y:-(A.y-E)})));I.push(...t)}I.splice(-1)}));let f=l-B;0===f&&(f=(null!==(t=c.charToGlyph(" ").advanceWidth)&&void 0!==t?t:C)/c.unitsPerEm),e==Q&&(f=0);const h=new o.V9({x:B,y:-E,width:f,height:-u- -E,sdf_texture_id:I.length>0?a.CW():null});return h.setPaths(I),h}i()}catch(E){i(E)}}))},4461:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{A:()=>a});var n=t(2842),r=t(4109),s=A([r]);function a(A){const e=n.A.ortho(0,A.width,0,A.height,1,-1),t=n.A.translate(e,[r.UI.x,r.UI.y,0]);return n.A.scale(t,[r.UI.zoom,r.UI.zoom,1])}r=(s.then?(await s)():s)[0],i()}catch(o){i(o)}}))},9753:(A,e,t)=>{t.d(e,{A:()=>r});var i=t(238);let n;function r(A,e){const t=A.getCurrentTexture();return n=(0,i.A)(e,t.width,t.height,t.format,n),{label:"our render to canvas renderPass",colorAttachments:[{view:n.createView(),resolveTarget:t.createView(),clearValue:[0,0,0,1],loadOp:"clear",storeOp:"store"}]}}},238:(A,e,t)=>{function i(A,e,t,i,n){return n&&n.width===e&&n.height===t||(null==n||n.destroy(),n=A.createTexture({label:"multisample texture",format:i,usage:GPUTextureUsage.RENDER_ATTACHMENT,size:[e,t],sampleCount:4})),n}t.d(e,{A:()=>i})},8156:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{A:()=>y,b:()=>f});var n=t(214),r=t(1911),s=t(688),a=t(2633),o=t(9146),g=t(4109),I=t(7846),C=t(4302),Q=t(5179),c=t(7608),B=t(9104),l=t(8513),u=t(5270),E=A([a,o,g,C,c,l,u]);[a,o,g,C,c,l,u]=E.then?(await E)():E;var f,h=function(A,e,t,i){return new(t||(t=Promise))((function(n,r){function s(A){try{o(i.next(A))}catch(A){r(A)}}function a(A){try{o(i.throw(A))}catch(A){r(A)}}function o(A){var e;A.done?n(A.value):(e=A.value,e instanceof t?e:new t((function(A){A(e)}))).then(s,a)}o((i=i.apply(A,e||[])).next())}))};!function(A){A[A.None=0]="None",A[A.DrawShape=1]="DrawShape",A[A.EditShape=2]="EditShape"}(f||(f={}));const p=0;function y(A,e,t,i,B,E,f,y){return h(this,void 0,void 0,(function*(){let b=0,D=!1;function S(){B(b>0||D)}const{device:w,presentationFormat:v,storageFormat:k}=yield(0,r.A)(),x=A.clientWidth/2,G=A.clientHeight/2;o.Ws(x,G,w.limits.maxTextureDimension2D,w.limits.maxBufferSize),C.Ts(w,v,k,(A=>{b=A,S()}));const N=A.getContext("webgpu");if(!N)throw Error("WebGPU from canvas needs to be always provided");function U(){o.a3(A.width/(A.clientWidth*g.UI.zoom))}N.configure({device:w,format:v});let F=!1;(0,n.A)(A,w,(()=>{!1===F&&(g.UI.x=(A.width-x)/2,g.UI.y=(A.height-G)/2,F=!0),U()})),(0,s.Ay)(w,v),(0,g.Ay)(A,U,(()=>{D=!0,S()}));const M=(0,Q.A)((()=>{(0,c.A)(w,v,A,x,G,A.width/A.clientWidth,J,E)}),5e3);let R=[];function L(){const A=R.map((A=>{var e;if("img"in A&&A.img){const e=A.img;return{id:e.id,textureId:e.texture_id,bounds:d([...e.bounds]),url:C.ID(e.texture_id)}}if("shape"in A&&A.shape){const e=A.shape;if(!e.bounds)throw Error("Shape bounds are missing in asset with id: "+e.id);return{id:e.id,paths:[...e.paths].map((A=>[...A].map((A=>({x:A.x,y:A.y}))))),bounds:d([...e.bounds]),props:m(e.props),sdf_texture_id:e.sdf_texture_id,cache_texture_id:e.cache_texture_id}}if("text"in A&&A.text)return{id:A.text.id,content:null!==(e=A.text.content)&&void 0!==e?e:"",bounds:d([...A.text.bounds]),font_size:A.text.font_size,props:m(A.text.props)};throw Error("Unknown asset type")}));t(A)}o.qN((A=>{R=[...A],L()})),u.Al(),o.JQ((A=>i([...A]))),o.Zr(C.CW,C.qD),o.el(l.sS,l.b8,l.le,l.c6,u.rU,u.DP),o.Mv(f),o.oA(((A,e)=>{y(A&&d([...A]),e&&m(e))}));const{stopRAF:z,capturePreview:J}=(0,a.A)(A,N,w,(()=>{D=!1,S()}));return{addImage:A=>{const t=C.WQ(A,((i,n,r)=>{const s=(0,I.A)(i,n,x,G);o.hk(p,s,t),r&&e(A,(A=>{C.Kg(t,A),M(),L()}))}))},removeAsset:o.Vx,resetAssets:(A,...t)=>h(this,[A,...t],void 0,(function*(A,t=!1){const i=(yield Promise.allSettled(A.map((A=>new Promise(((t,i)=>{if("paths"in A)return t({shape:{id:A.id||p,paths:A.paths,props:A.props,bounds:A.bounds||null,sdf_texture_id:A.sdf_texture_id||C.CW(),cache_texture_id:A.cache_texture_id||null}});if("content"in A)return t({text:{id:A.id||p,content:A.content,bounds:A.bounds,font_size:A.font_size,props:A.props}});if(A.bounds)return t({img:{id:A.id||p,bounds:A.bounds,texture_id:A.textureId||C.WQ(A.url)}});const n=C.WQ(A.url,((i,r,s)=>(s&&e(A.url,(A=>{C.Kg(n,A),L()})),t({img:{id:p,bounds:(0,I.A)(i,r,x,G),texture_id:n}}))))})))))).filter((A=>"fulfilled"===A.status)).map((A=>A.value));o.VA(i,t)})),destroy:()=>{z(),o.ZE(),N.unconfigure(),w.destroy()},setTool:o.tE,toggleSharedTextEffects:o.$u,updateAssetProps:A=>{o.Er(A)},updateAssetBounds:A=>{o.Hg(A)}}}))}function d(A){return A.map((A=>({x:A.x,y:A.y,u:A.u,v:A.v})))}function m(A){var e;return{sdf_effects:[...A.sdf_effects].map((A=>({dist_start:A.dist_start,dist_end:A.dist_end,fill:(0,B.A)(A.fill)}))),filter:(null===(e=A.filter)||void 0===e?void 0:e.gaussianBlur)?{gaussianBlur:{x:A.filter.gaussianBlur.x,y:A.filter.gaussianBlur.y}}:null,opacity:A.opacity}}i()}catch(b){i(b)}}))},9105:(A,e,t)=>{function i(A,e){const t=[255,0,0,255],i=[255,255,0,255],n=new Uint8Array([[0,0,255,255],t,t,t,t,t,i,i,i,t,t,i,t,t,t,t,i,i,t,t,t,i,t,t,t,t,i,t,t,t,t,t,t,t,t].flat()),r=A.createTexture({label:"yellow F on red",size:[5,7],format:e,usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST});return A.queue.writeTexture({texture:r},n,{bytesPerRow:20},{width:5,height:7}),r}t.d(e,{A:()=>i})},4109:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{Ay:()=>B,UI:()=>Q,Wn:()=>c});var n=t(9146),r=t(6253),s=t(8513),a=A([n,s]);[n,s]=a.then?(await a)():a;const g=-1;var o;!function(A){A[A.Pan=0]="Pan",A[A.Zoom=1]="Zoom",A[A.None=2]="None"}(o||(o={}));let I=o.None,C=null;const Q={x:0,y:0,zoom:1},c={x:0,y:0,afterPickEventsQueue:[]};function B(A,e,t){function i(){return[(c.x-Q.x)/Q.zoom,(A.height-c.y-Q.y)/Q.zoom]}function a(e){const t=A.getBoundingClientRect(),i=A.width/t.width;c.x=(e.clientX-t.left)*i,c.y=(e.clientY-t.top)*i}function B(t,i,n){const s=Q.zoom;Q.zoom=(0,r.A)(Q.zoom+t,.1,20),e();const a=Q.zoom/s;Q.x=i-(i-Q.x)*a;const o=A.height-n;Q.y=o-(o-Q.y)*a}function l(t){const i=Q.zoom;Q.zoom=(0,r.A)(Q.zoom-.005*t,.1,20),e();const n=Q.zoom/i;Q.x=c.x-(c.x-Q.x)*n;const s=A.height-c.y;Q.y=s-(s-Q.y)*n}c.x=g,c.y=g,A.addEventListener("mouseleave",(()=>{t(),A.style.cursor="default";const e=()=>{c.x=g,c.y=g,n.YF()};c.afterPickEventsQueue.length>0?c.afterPickEventsQueue.push({requireNewPick:!1,cb:e}):e()})),A.addEventListener("dblclick",(()=>{n.kl()})),A.addEventListener("mousemove",(A=>{if(C)return a(A),Q.x=c.x-C.x,void(Q.y=-(c.y-C.y));t();const e=()=>{a(A),n.us(...i())};c.afterPickEventsQueue.length>0?c.afterPickEventsQueue.push({requireNewPick:!1,cb:e}):e()})),A.addEventListener("mousedown",(e=>{if(I===o.Pan)return a(e),C={x:c.x-Q.x,y:c.y+Q.y},void(A.style.cursor="grabbing");C=null,t(),a(e),c.afterPickEventsQueue.push({requireNewPick:!0,cb:n.po.bind(null,...i())})})),A.addEventListener("mouseup",(()=>{I=o.None,C=null,A.style.cursor="default",t(),c.afterPickEventsQueue.length>0?c.afterPickEventsQueue.push({requireNewPick:!1,cb:n.cV}):n.cV()})),A.addEventListener("wheel",(A=>{a(A),A.preventDefault(),I===o.Zoom?l(Math.abs(A.deltaY)>Math.abs(A.deltaX)?A.deltaY:-A.deltaX):A.ctrlKey?l(A.deltaY*Q.zoom):(Q.x-=A.deltaX,Q.y+=A.deltaY)})),document.body.addEventListener("keydown",(e=>{const t=e.ctrlKey||"AltLeft"===e.code||"AltRight"===e.code;if(!s.Ol()||t)switch(e.code){case"Space":e.preventDefault(),I!==o.Pan&&(A.style.cursor="grab",I=o.Pan);break;case"AltLeft":case"AltRight":e.preventDefault(),I=o.Zoom;break;case"Escape":e.preventDefault(),n.PT();break;case"=":case"+":(e.ctrlKey||e.metaKey)&&(e.preventDefault(),B(.1,c.x!==g?c.x:A.width/2,c.y!==g?c.y:A.height/2));break;case"-":case"_":(e.ctrlKey||e.metaKey||e.shiftKey)&&(e.preventDefault(),B(-.1,c.x!==g?c.x:A.width/2,c.y!==g?c.y:A.height/2))}})),document.body.addEventListener("keyup",(e=>{"Space"!==e.code&&"Alt"!==e.key||(I=o.None),"Space"===e.code&&null===C&&(A.style.cursor="default")}))}i()}catch(l){i(l)}}))},2633:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{A:()=>l,H:()=>B});var n=t(9753),r=t(688),s=t(4461),a=t(2872),o=t(9146),g=t(4109),I=t(4302),C=t(3438),Q=A([s,a,o,g,I,C]);let c;function B(A){c=A}function l(A,e,t,i){let Q,B,l;const u=new a.A(t);o.XO(I.Eb,((A,e,i,n)=>{(0,C.z)(t,l,A,e,i,n)}),C.w),o.wV({draw_texture:(A,e)=>{(0,r._J)(c,A.dataView,I.bS(e))},draw_triangle:A=>{const e=A["*"].dataView;(0,r.D4)(c,e)},compute_shape:(A,e,t,i)=>{const n=A["*"].dataView;I.yo(i,e,t),(0,r.DS)(B,n,I.Mc(i))},clear_sdf:(A,e,t,i)=>{I.yo(A,t,i),I.yo(e,t,i),(0,r.RW)(B,I.Mc(A)),(0,r.ym)(B,I.Mc(e))},combine_sdf:(A,e,t,i)=>{(0,r.bB)(B,I.Mc(A),I.Mc(e),I.Mc(t),i.dataView)},draw_blur:(A,e,t,i,n,s)=>{(0,r.oQ)(l,I.Mc(A),e,t,i,n,s)},draw_shape:(A,e,t)=>{let i,n;if("linear"in e&&e.linear)i=r.Jl,n=e.linear;else if("radial"in e&&e.radial)i=r.np,n=e.radial;else{if(!("solid"in e)||!e.solid)throw Error("Unsupported shape uniform type");i=r.H,n=e.solid}const s=A["*"].dataView;i(c,I.Mc(t),s,n.dataView)},pick_texture:(A,e)=>{const t=A["*"].dataView;(0,r.Fh)(Q,t,I.bS(e))},pick_shape:(A,e,t)=>{(0,r.Zo)(Q,A["*"].dataView,e.dataView,I.Mc(t))},pick_triangle:A=>{const e=A["*"].dataView;(0,r.Q3)(Q,e)}});let E=0;const f={x:0,y:0};function h(a,I){o.io(a),l=t.createCommandEncoder({label:"draw canvas main encoder"}),B=l.beginComputePass(),o.Gl(),B.end(),o.Wp();const C=(0,n.A)((null==I?void 0:I.ctx)||e,t);c=l.beginRenderPass(C);const p=(0,s.A)((null==I?void 0:I.canvas)||A);if(t.queue.writeBuffer(r.IP.buffer,0,p),o.LI(),c.end(),I){const A=l.finish();return t.queue.submit([A]),(0,r.zK)(),void I.onCapture()}if(0===g.Wn.afterPickEventsQueue.length&&i(),g.Wn.afterPickEventsQueue.length>0||f.x!==g.Wn.x||f.y!==g.Wn.y){f.x=g.Wn.x,f.y=g.Wn.y;const e=u.createMatrix(A,p);t.queue.writeBuffer(r.R9,0,e);const i=u.startPicking(l);Q=i.pass,o.aO(),i.end()}const y=l.finish();t.queue.submit([y]),(0,r.zK)(),u.asyncPick(),E=requestAnimationFrame(h)}function p(){cancelAnimationFrame(E)}return l=t.createCommandEncoder({label:"prerender ui elements SDF"}),B=l.beginComputePass(),o.wH(),B.end(),t.queue.submit([l.finish()]),E=requestAnimationFrame(h),{stopRAF:p,capturePreview:(A,e)=>new Promise((t=>{p(),h(performance.now(),{canvas:A,ctx:e,onCapture:t}),E=requestAnimationFrame(h)}))}}[s,a,o,g,I,C]=Q.then?(await Q)():Q,i()}catch(u){i(u)}}))},9104:(A,e,t)=>{function i(A){if("solid"in A&&A.solid)return{solid:[...A.solid]};if("linear"in A&&A.linear)return{linear:{start:{x:A.linear.start.x,y:A.linear.start.y},end:{x:A.linear.end.x,y:A.linear.end.y},stops:[...A.linear.stops].map((A=>({offset:A.offset,color:[...A.color]})))}};if("radial"in A&&A.radial)return{radial:{center:{x:A.radial.center.x,y:A.radial.center.y},destination:{x:A.radial.destination.x,y:A.radial.destination.y},radius_ratio:A.radial.radius_ratio,stops:[...A.radial.stops].map((A=>({offset:A.offset,color:[...A.color]})))}};throw Error("Unknown fill type")}t.d(e,{A:()=>i})},8451:(A,e,t)=>{t.d(e,{I:()=>n,U:()=>o});var i=t(8103);class n{constructor(A){this.min_x=1/0,this.min_y=1/0,this.max_x=-1/0,this.max_y=-1/0,A&&A.forEach((A=>this.addPoint(A)))}addPoint(A){this.min_x=Math.min(this.min_x,A.x),this.min_y=Math.min(this.min_y,A.y),this.max_x=Math.max(this.max_x,A.x),this.max_y=Math.max(this.max_y,A.y)}addBox(A){this.min_x=Math.min(this.min_x,A.min_x),this.min_y=Math.min(this.min_y,A.min_y),this.max_x=Math.max(this.max_x,A.max_x),this.max_y=Math.max(this.max_y,A.max_y)}}function r(A,e,t){const i=1e-10;if(Math.abs(A)<i)return Math.abs(e)<i?[]:[-t/e];const n=e*e-4*A*t;if(n<-1e-10)return[];if(Math.abs(n)<i)return[-e/(2*A)];const r=Math.sqrt(n);return[(-e+r)/(2*A),(-e-r)/(2*A)]}function s(A,e,t,i,n){const r=A*A,s=1-A,a=s*s;return e*(a*s)+3*t*A*a+3*i*r*s+n*(r*A)}function a(A,e,t,i){let a=Math.min(A.x,i.x),o=Math.max(A.x,i.x),g=Math.min(A.y,i.y),I=Math.max(A.y,i.y);r(3*(-A.x+3*e.x-3*t.x+i.x),6*(A.x-2*e.x+t.x),3*(-A.x+e.x)).forEach((n=>{if(n>0&&n<1){const r=s(n,A.x,e.x,t.x,i.x);a=Math.min(a,r),o=Math.max(o,r)}})),r(3*(-A.y+3*e.y-3*t.y+i.y),6*(A.y-2*e.y+t.y),3*(-A.y+e.y)).forEach((n=>{if(n>0&&n<1){const r=s(n,A.y,e.y,t.y,i.y);g=Math.min(g,r),I=Math.max(I,r)}}));const C=new n;return C.min_x=a,C.min_y=g,C.max_x=o,C.max_y=I,C}function o(A){const e=new n;return A.forEach((A=>{const t=function(A){if(A.length<4)return new n(A);const e=A.length%3==0,t=new n,r=Math.floor((A.length-1)/3);for(let e=0;e<r;e++){const n=A[3*e],r=A[3*e+3],s=a(n,(0,i.te)(A[3*e+1])?n:A[3*e+1],(0,i.te)(A[3*e+2])?r:A[3*e+2],r);t.addBox(s)}if(e&&A.length>1){const e=A[A.length-3],n=A[0],r=a(e,(0,i.te)(A[A.length-2])?e:A[A.length-2],(0,i.te)(A[A.length-1])?n:A[A.length-1],n);t.addBox(r)}return t}(A);e.addBox(t)})),e}},678:(A,e,t)=>{t.d(e,{A:()=>o});var i=t(8451),n=t(8103),r=t(8190);function s(A,e,t){const[i,n,r,s,a,o]=t;return{x:i*A+r*e+a,y:n*A+s*e+o}}function a(A,e,t=1){if("linear-gradient"!==A.type&&"radial-gradient"!==A.type)return console.error("toRuntimeGradient receive definition which is not a gradient!"),null;if(!A.stops)return console.error("Gradient without stops!",A),null;const i=A.stops.map((A=>Object.assign(Object.assign({},A),{color:[A.color[0]*t,A.color[1]*t,A.color[2]*t,A.color[3]*t]}))),r=A.gradientTransform||n.Pb;if("linear-gradient"===A.type){const t=(0,n.fV)(A.x1),a=(0,n.fV)(A.y1),o=(0,n.fV)(A.x2),g=(0,n.fV)(A.y2),I=s(t,a,r),C=s(o,g,r),Q=e.max_x-e.min_x,c=e.max_y-e.min_y;return I.x=(I.x-e.min_x)/Q,I.y=1-(I.y-e.min_y)/c,C.x=(C.x-e.min_x)/Q,C.y=1-(C.y-e.min_y)/c,{linear:{stops:i,start:I,end:C}}}if("radial-gradient"===A.type){const t=(0,n.fV)(A.cx,.5),a=(0,n.fV)(A.cy,.5),o=(0,n.fV)(A.r,.5),g=e.max_x-e.min_x,I=e.max_y-e.min_y,C=s(t,a,r),Q=s(t+o,a,r),c=s(t,a+o,r),B=A=>({x:(A.x-e.min_x)/Math.max(g,1e-8),y:1-(A.y-e.min_y)/Math.max(I,1e-8)}),l=B(C),u=B(Q),E=B(c),f={x:u.x-l.x,y:u.y-l.y},h={x:E.x-l.x,y:E.y-l.y},{destination:p,ratio:y}=function(A,e,t){const i=Math.hypot(e.x,e.y),n=Math.hypot(t.x,t.y);if(i<1e-8||n<1e-8){const t=Math.max(i,1e-8),r=i>1e-8?n/i:1;return{destination:{x:A.x+(e.x||1)*(t/(i||1)),y:A.y+(e.y||0)*(t/(i||1))},ratio:isFinite(r)?r:1}}const r=e.x*e.x+t.x*t.x,s=e.x*e.y+t.x*t.y,a=e.y*e.y+t.y*t.y,o=r+a,g=r*a-s*s,I=Math.sqrt(Math.max(0,o*o*.25-g)),C=.5*o+I,Q=.5*o-I,c=Math.sqrt(Math.max(C,0)),B=Math.sqrt(Math.max(Q,0));let l=0,u=0;Math.abs(s)>1e-8||Math.abs(C-r)>1e-8?Math.abs(s)>Math.abs(C-r)?(l=1,u=(C-r)/(s||1e-12)):(l=(s||1e-12)/(C-r||1e-12),u=1):(l=1,u=0);const E=Math.hypot(l,u)||1;return l/=E,u/=E,{destination:{x:A.x+l*c,y:A.y+u*c},ratio:c>1e-8?B/c:1}}(l,f,h);return{radial:{stops:i,center:l,destination:p,radius_ratio:y}}}return null}function o(A,e,t=n.Pb,g){const I=[];if(!(0,n.nS)(A))return I;let C=t;if("properties"in A&&"object"==typeof A.properties){let t=(0,r.A)(A),o=t.paths;switch(A.tagName){case"g":C=(0,n.ae)(t.transform,C);break;case"defs":return I;case"use":if(t.href){const A=t.href.slice(1);if(A){const i=e[A];if(i){if(!i.paths)return console.error("The resolved definition of <use> has no paths!"),I;o=i.paths,t=Object.assign(Object.assign({},i),t)}}}}if(o){const A=(0,i.U)(o),r={sdf_effects:[],filter:null,opacity:1};if(t.fill){const i=(0,n.fV)(t["fill-opacity"],1),s=String(t.fill),o=s.match(/^url\(#([^)]+)\)$/);let g=null;if(o){const t=e[o[1]];if(t){const e=a(t,A,i);e&&(g=e)}}else g={solid:(0,n.H0)(s,i)};g&&r.sdf_effects.push({dist_start:1/0,dist_end:0,fill:g})}if(t["stroke-width"]){const i=String(t.stroke)||"#000",s=(0,n.fV)(t["stroke-width"],1),o=i.match(/^url\(#([^)]+)\)$/);let g=null;if(o){const t=e[o[1]];if(t){const e=a(t,A);e&&(g=e)}}else g={solid:(0,n.H0)(i)};g&&r.sdf_effects.push({dist_start:s/2,dist_end:-s/2,fill:g})}if(t.filter){const A=String(t.filter).match(/^url\(#([^)]+)\)$/);if(A){const t=e[A[1]];(null==t?void 0:t.stdDeviation)&&(r.filter={gaussianBlur:{x:t.stdDeviation[0],y:t.stdDeviation[1]}})}}"number"==typeof t.opacity&&(r.opacity=t.opacity),"string"==typeof t.transform&&(C=(0,n.ae)(t.transform,C));const g=o.map((A=>A.map((A=>(0,n.te)(A)?A:s(A.x,A.y,C)))));I.push({paths:g,props:r,boundingBox:A})}}return A.children.forEach((A=>{I.push(...o(A,e,C,g))})),I}},2821:(A,e,t)=>{t.d(e,{t:()=>i});const i={x:1e11,y:0}},750:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{A:()=>o});var n=t(9146),r=t(4302),s=t(8451),a=A([n,r]);function o(A,e,t){if(!e){const t=new s.I;A.forEach((A=>{t.addBox(A.boundingBox)})),e=t.max_y}A.forEach((({paths:A,props:i})=>{const s=A.map((A=>A.map((A=>({x:A.x,y:e-A.y})))));void 0===t?n.rp(0,s,null,i,r.CW(),null):n.Iq(t,s,r.CW())}))}[n,r]=a.then?(await a)():a,i()}catch(g){i(g)}}))},9504:(A,e,t)=>{t.d(e,{F:()=>a,W:()=>r});var i=t(8103),n=t(8190);function r(A){const e=Object.keys(A);for(const t of e){const e=s(A,A[t]);A[t]=e}}function s(A,e,t=new Set){if(!e.href)return e;const i=String(e.href).replace("#","");if(t.has(i))return e;t.add(i);const n=A[i];if(!n)return e;const r=s(A,n,t);return(e=Object.assign(Object.assign({},r),e)).href=void 0,e.id&&(A[e.id]=e),e}function a(A,e,t=!1){if(!(0,i.nS)(A))return;const r=(0,n.A)(A);switch(A.tagName){case"linearGradient":if(!r.id)return;return void(e[r.id]=Object.assign({type:"linear-gradient"},r));case"radialGradient":if(!r.id)return;return void(e[r.id]=Object.assign({type:"radial-gradient"},r));case"path":if(t){if(!r.id)return;e[r.id]=r}return;case"filter":if(!r.id)return;return void(e[r.id]=r);case"defs":t=!0}A.children.forEach((A=>{a(A,e,t)}))}},8190:(A,e,t)=>{function i(A,e,t,i){const n=.5522847498307936,r=n*t,s=n*i;return[{x:A+t,y:e},{x:A+t,y:e+s},{x:A+r,y:e+i},{x:A,y:e+i},{x:A-r,y:e+i},{x:A-t,y:e+s},{x:A-t,y:e},{x:A-t,y:e-s},{x:A-r,y:e-i},{x:A,y:e-i},{x:A+r,y:e-i},{x:A+t,y:e-s}]}t.d(e,{A:()=>o});var n=t(5671),r=t(2821);function s(A,e,t,i){const n={x:A+t,y:e+i},s={x:A+t,y:e},a={x:A,y:e};return[{x:A,y:e+i},r.t,r.t,n,r.t,r.t,s,r.t,r.t,a,r.t,r.t]}var a=t(8103);function o(A){var e;let t=A.properties;if("string"==typeof(null===(e=A.properties)||void 0===e?void 0:e.style)){const e={};A.properties.style.split(";").forEach((A=>{const[t,i]=A.split(":");t&&i&&(e[t.trim()]=i.trim())})),t=Object.assign(Object.assign({},e),A.properties)}if(!t)return{};const r=Object.assign({},t);switch(A.tagName){case"path":r.paths=(0,n.A)(t.d),delete r.d;break;case"rect":r.paths=[s((0,a.fV)(t.x),(0,a.fV)(t.y),(0,a.fV)(t.width,1),(0,a.fV)(t.height,1))],delete r.x,delete r.y,delete r.width,delete r.height;break;case"ellipse":r.paths=[i((0,a.fV)(t.cx),(0,a.fV)(t.cy),(0,a.fV)(t.rx),(0,a.fV)(t.ry))],delete r.cx,delete r.cy,delete r.rx,delete r.ry;break;case"circle":r.paths=[i((0,a.fV)(t.cx),(0,a.fV)(t.cy),(0,a.fV)(t.r),(0,a.fV)(t.r))],delete r.cx,delete r.cy,delete r.r;break;case"radialGradient":case"linearGradient":A.children.length>0&&(r.stops=A.children.map((A=>{var e,t;if(!(0,a.nS)(A))return{offset:0,color:[0,0,0,0]};const i=o(A),n=(0,a.H0)(String(null!==(e=i["stop-color"])&&void 0!==e?e:"#000"));return n[3]=(0,a.fV)(i["stop-opacity"],1),{offset:Number(null!==(t=i.offset)&&void 0!==t?t:0),color:n}})));break;case"filter":(0,a.nS)(A.children[0])&&function(A,e){var t;if("feGaussianBlur"===e.tagName){A.type="gaussian-blur";const i=null===(t=e.properties)||void 0===t?void 0:t.stdDeviation;let n=0,r=0;if("number"==typeof i)n=i,r=i;else if("string"==typeof i){const A=i.trim().split(/[ ,]+/).filter(Boolean);A.length>=2?(n=(0,a.fV)(A[0],0),r=(0,a.fV)(A[1],0)):1===A.length&&(n=(0,a.fV)(A[0],0),r=n)}A.stdDeviation=[n,r]}}(r,A.children[0])}return"gradientTransform"in t&&(r.gradientTransform=(0,a.ae)(String(t.gradientTransform))),r}},5671:(A,e,t)=>{function i(A,e,t,i,n,r,s,a,o){if(0===t||0===i||A===a&&e===o)return[];const g=n*Math.PI/180,I=Math.cos(g),C=Math.sin(g),Q=(A-a)/2,c=(e-o)/2,B=I*Q+C*c,l=-C*Q+I*c;let u=(t=Math.abs(t))*t,E=(i=Math.abs(i))*i;const f=B*B,h=l*l,p=f/u+h/E;if(p>1){const A=Math.sqrt(p);u=(t*=A)*t,E=(i*=A)*i}const y=r===s?-1:1,d=Math.max(0,u*E-u*h-E*f),m=u*h+E*f,b=0===m?0:y*Math.sqrt(d/m),D=b*(t*l/i),S=b*(-i*B/t),w=I*D-C*S+(A+a)/2,v=C*D+I*S+(e+o)/2,k=(B-D)/t,x=(l-S)/i,G=(-B-D)/t,N=(-l-S)/i,U=Math.sqrt(k*k+x*x);let F=0===U?0:Math.acos(Math.max(-1,Math.min(1,k/U)));x<0&&(F=-F);const M=k*G+x*N,R=Math.sqrt((k*k+x*x)*(G*G+N*N));let L=0===R?0:Math.acos(Math.max(-1,Math.min(1,M/R)));k*N-x*G<0&&(L=-L),0===s&&L>0?L-=2*Math.PI:1===s&&L<0&&(L+=2*Math.PI);const z=Math.max(1,Math.ceil(Math.abs(L)/(Math.PI/2))),J=L/z,q=Math.abs(J)<1e-10?0:8/3*Math.sin(J/4)*Math.sin(J/4)/Math.sin(J/2),O=[];for(let A=0;A<z;A++){const e=F+A*J,n=F+(A+1)*J,r=Math.cos(e),s=Math.sin(e),g=Math.cos(n),Q=Math.sin(n),c=t*(r-q*s),B=i*(s+q*r),l=t*(g+q*Q),u=i*(Q-q*g),E=t*g,f=i*Q,h=w+I*c-C*B,p=v+C*c+I*B,y=w+I*l-C*u,d=v+C*l+I*u,m=A===z-1?a:w+I*E-C*f,b=A===z-1?o:v+C*E+I*f;O.push({cp1x:h,cp1y:p,cp2x:y,cp2y:d,x:m,y:b})}return O}t.d(e,{A:()=>r});var n=t(2821);function r(A){const e=function(A){const e=[],t=/([MmLlHhVvCcSsQqTtAaZz])\s*([^MmLlHhVvCcSsQqTtAaZz]*)/g;let i;for(;null!==(i=t.exec(A));){const A=i[1],t=i[2].trim(),n=[];if(t){const A=t.match(/-?[0-9]*\.?[0-9]+(?:[eE][-+]?[0-9]+)?/g);A&&n.push(...A.map(parseFloat))}e.push({command:A,args:n})}return e}(A),t=function(A){const e=[];let t=[],r={x:0,y:0},s={x:0,y:0},a=null,o=null;const g=()=>{t.length>0&&(e.push([...t]),t=[])};for(const{command:e,args:I}of A)switch(e.toLowerCase()){case"m":{g();const A="m"===e;for(let e=0;e<I.length;e+=2){const i={x:A?r.x+I[e]:I[e],y:A?r.y+I[e+1]:I[e+1]};0===e?(t.push(i),s=Object.assign({},i)):t.push(n.t,n.t,i),r=i}a=null,o=null;break}case"l":case"h":case"v":{const A=e!==e.toUpperCase(),i="h"===e.toLowerCase(),s="v"===e.toLowerCase();let g=0;for(;g<I.length;){let e=r.x,a=r.y;i?(e=I[g]+(A?r.x:0),g+=1):s?(a=I[g]+(A?r.y:0),g+=1):(e=I[g]+(A?r.x:0),a=I[g+1]+(A?r.y:0),g+=2);const o={x:e,y:a};t.push(n.t,n.t,o),r=o}a=null,o=null;break}case"a":{const A="a"===e;for(let e=0;e<I.length;e+=7){const s=I[e],g=I[e+1],C=I[e+2],Q=I[e+3],c=I[e+4],B={x:I[e+5]+(A?r.x:0),y:I[e+6]+(A?r.y:0)},l=i(r.x,r.y,s,g,C,Q,c,B.x,B.y);if(0===l.length)B.x===r.x&&B.y===r.y||t.push(n.t,n.t,B),r=B,a=null,o=null;else{for(const A of l)t.push({x:A.cp1x,y:A.cp1y},{x:A.cp2x,y:A.cp2y},{x:A.x,y:A.y}),r={x:A.x,y:A.y};a=null,o=null}}break}case"q":{const A="q"===e;for(let e=0;e<I.length;e+=4){const i={x:I[e]+(A?r.x:0),y:I[e+1]+(A?r.y:0)},n={x:I[e+2]+(A?r.x:0),y:I[e+3]+(A?r.y:0)},s={x:r.x+2/3*(i.x-r.x),y:r.y+2/3*(i.y-r.y)},g={x:n.x+2/3*(i.x-n.x),y:n.y+2/3*(i.y-n.y)};t.push(s,g,n),r=n,o=i,a=null}break}case"t":{const A="t"===e;for(let e=0;e<I.length;e+=2){const i=o?{x:2*r.x-o.x,y:2*r.y-o.y}:Object.assign({},r),n={x:I[e]+(A?r.x:0),y:I[e+1]+(A?r.y:0)},s={x:r.x+2/3*(i.x-r.x),y:r.y+2/3*(i.y-r.y)},g={x:n.x+2/3*(i.x-n.x),y:n.y+2/3*(i.y-n.y)};t.push(s,g,n),r=n,o=i,a=null}break}case"c":{const A="c"===e;for(let e=0;e<I.length;e+=6){const i={x:I[e]+(A?r.x:0),y:I[e+1]+(A?r.y:0)},n={x:I[e+2]+(A?r.x:0),y:I[e+3]+(A?r.y:0)},s={x:I[e+4]+(A?r.x:0),y:I[e+5]+(A?r.y:0)};t.push(i,n,s),r=s,a=n,o=null}break}case"s":{const A="s"===e;for(let e=0;e<I.length;e+=4){const i=a?{x:2*r.x-a.x,y:2*r.y-a.y}:Object.assign({},r),n={x:I[e]+(A?r.x:0),y:I[e+1]+(A?r.y:0)},s={x:I[e+2]+(A?r.x:0),y:I[e+3]+(A?r.y:0)};t.push(i,n,s),r=s,a=n,o=null}break}case"z":r=s,a=null,o=null,g();break;default:console.warn(`SVG path command '${e}' not supported yet`),a=null,o=null}return g(),e}(e);return t}},8103:(A,e,t)=>{t.d(e,{H0:()=>r,Pb:()=>o,ae:()=>I,fV:()=>s,nS:()=>a,te:()=>n});const i=1e10;function n(A){return A.x>i}function r(A,e=1){const t=new OffscreenCanvas(1,1).getContext("2d");t.fillStyle=A,t.fillRect(0,0,1,1);const i=t.getImageData(0,0,1,1),[n,r,s,a]=i.data;return[n/255*e,r/255*e,s/255*e,a/255*e]}function s(A,e=0){if("number"==typeof A)return A;const t=Number(A);return isNaN(t)?e:t}function a(A){return"string"!=typeof A&&"element"===A.type}const o=[1,0,0,1,0,0];function g(A,e){const[t,i,n,r,s,a]=A,[o,g,I,C,Q,c]=e;return[t*o+n*g,i*o+r*g,t*I+n*C,i*I+r*C,t*Q+n*c+s,i*Q+r*c+a]}function I(A,e=o){if(!A)return e;const t=/(\w+)\(([^)]+)\)/g;let i,n=e;const r=[];for(;null!==(i=t.exec(A));)r.push({op:i[1],args:i[2].split(/[ ,]+/).map(Number)});for(let A=r.length-1;A>=0;A--){const{op:e,args:t}=r[A];let i=o;switch(e){case"matrix":i=t;break;case"translate":{const[A,e=0]=t;i=[1,0,0,1,A,e];break}case"scale":{const[A,e=A]=t;i=[A,0,0,e,0,0];break}case"rotate":{const[A,e=0,n=0]=t,r=A*Math.PI/180,s=Math.cos(r),a=Math.sin(r);i=g([1,0,0,1,e,n],g([s,a,-a,s,0,0],[1,0,0,1,-e,-n]));break}}n=g(i,n)}return n}},4302:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{CW:()=>G,Eb:()=>k,ID:()=>M,Kg:()=>J,Mc:()=>S,Ts:()=>m,Uw:()=>U,WQ:()=>D,bS:()=>w,qD:()=>x,yE:()=>F,yo:()=>N});var n=t(9105),r=t(1549),s=t(4637),a=t(750),o=t(9504),g=t(9146),I=t(2804),C=t(678),Q=A([a,g]);[a,g]=Q.then?(await Q)():Q;var c=function(A,e,t,i){return new(t||(t=Promise))((function(n,r){function s(A){try{o(i.next(A))}catch(A){r(A)}}function a(A){try{o(i.throw(A))}catch(A){r(A)}}function o(A){var e;A.done?n(A.value):(e=A.value,e instanceof t?e:new t((function(A){A(e)}))).then(s,a)}o((i=i.apply(A,e||[])).next())}))};function B(A,e){const t=A.properties,i=(null==t?void 0:t.viewBox)?l(t.viewBox):null,n="number"==typeof(null==t?void 0:t.width)?null==t?void 0:t.width:void 0,r="number"==typeof(null==t?void 0:t.height)?null==t?void 0:t.height:void 0;return[n||(null==i?void 0:i[0])||(null==e?void 0:e.naturalWidth),r||(null==i?void 0:i[1])||(null==e?void 0:e.naturalHeight)]}function l(A){const e=A.split(" ").map(Number);if(4===e.length){const[A,t,i,n]=e;return[i-A,n-t]}return null}let u,E,f,h,p,y,d;function m(A,e,t,i){u=A,y=e,d=t,E=[],f=(0,n.A)(u,y),h=()=>i(p),p=0,b(0,I)}function b(A,e){const t=(0,s.q)(e).children[0],[i,n]=B(t);if(!i||!n)throw Error("SVG Icon width and height are required");const r={};o.F(t,r),o.W(r);const g=(0,C.A)(t,r);(0,a.A)(g,n,A)}function D(A,e){p++,h();const t=E.find((e=>e.url===A));if(t)return p--,h(),null==e||e(t.texture.width,t.texture.height,!1),E.indexOf(t);const i=E.length;return E.push({url:A}),q(A).then((([A,t])=>{let n=null;if(t){const e=t.children[0],[i,n]=B(e,A);if(!i||!n)throw Error("SVG width and height are required");const r={};o.F(e,r),o.W(r),g.YM();const s=(0,C.A)(e,r);return(0,a.A)(s,n),g.u9(),p--,void h()}const{ctx:s}=R(A,A.naturalWidth,A.naturalHeight),I=s.getImageData(0,0,A.naturalWidth,A.naturalHeight).data,Q=L(I);n=z(I,Q),null!==n?E[i]=n:(E[i].texture=(0,r.Be)(u,y,A,{flipY:!0}),E[i].data=I,E[i].hash=Q),null==e||e(A.width,A.height,!n),p--,h()})),i}function S(A){const e=v(A);if(!e)throw Error("Texture not found with id: "+A);return e}function w(A){var e;return null!==(e=v(A))&&void 0!==e?e:f}function v(A){return E[A].texture}function k(){const A=E.length;return E.push({url:"cache"}),A}function x(A,e){const t=E.length,i="combineSdf - depth texture",n=u.createTexture({label:i,size:[A,e],format:"r32float",usage:GPUTextureUsage.STORAGE_BINDING|GPUTextureUsage.TEXTURE_BINDING});return E.push({url:i,texture:n}),t}function G(){const A=E.length,e=`SDF texture ${A}`,t=u.createTexture({label:e,size:[1,1],format:"rgba32float",usage:GPUTextureUsage.STORAGE_BINDING|GPUTextureUsage.TEXTURE_BINDING});return E.push({url:e,texture:t}),A}function N(A,e,t){var i;const n=null===(i=E[A])||void 0===i?void 0:i.texture;if(!n)throw Error("Texture not found with id: "+A);if(n.width===e&&n.height===t)return;const r=u.createTexture({label:n.label,size:[e,t],format:n.format,usage:n.usage});null==n||n.destroy(),E[A].texture=r}function U(A,e){var t;E[A].texture!==e&&(null===(t=E[A].texture)||void 0===t||t.destroy()),E[A].texture=e}function F(A,e,t){const i=E[A].texture;if(!(i&&Math.abs(i.width-e)<=Number.EPSILON&&Math.abs(i.height-t)<=Number.EPSILON)){null==i||i.destroy();const n=u.createTexture({label:"texture cache",format:d,usage:GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.STORAGE_BINDING,size:[e,t]});return E[A].texture=n,n}return i}function M(A){return E[A].url}function R(A,e,t){const i=new OffscreenCanvas(e,t),n=i.getContext("2d");return n.drawImage(A,0,0,e,t),{canvas:i,ctx:n}}function L(A){let e=5381;for(let t=0;t<A.length;t++)e=(e<<5)+e+A[t];return String(e)}function z(A,e){for(let t=0;t<E.length;t++){const i=E[t];if(i.hash===e){if(A.length!==i.data.length)return null;for(let e=0;e<A.length;e++)if(A[e]!==i.data[e])return null;return i}}return null}function J(A,e){E[A].url=e}function q(A){return c(this,void 0,void 0,(function*(){return Promise.all([new Promise((e=>{const t=new Image;t.crossOrigin="anonymous",t.src=A,t.onload=()=>e(t)})),new Promise((e=>{fetch(A).then((A=>A.text())).then((A=>{A.includes("<svg")?e((0,s.q)(A)):e(null)}))}))])}))}i()}catch(O){i(O)}}))},8513:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{Ol:()=>g,b8:()=>p,c6:()=>l,le:()=>B,sS:()=>h});var n=t(9146),r=A([n]);n=(r.then?(await r)():r)[0];const s="⁠",a=/\u2060\n/g;let o=null;function g(){return null!==o}function I(A,e){return A[e-1]===s&&"\n"===A[e]}function C(A,e){return A[e-2]===s&&"\n"===A[e-1]}const Q={selectionStart:0,selectionEnd:0};function c(A,e,t){if(I(A,e[t])){const A=Q[t]==e[t]-1;e[t]=A?e[t]+2:e[t]-1}C(A,e[t])&&(e[t]=e[t]-2),Q[t]=e[t]}function B(A){if(!o)throw Error("Not typing");let e=o.selectionStart,t=o.selectionEnd;o.value=A,I(A,e)&&(e+=2),I(A,t)&&(t+=2),o.selectionStart=e,o.selectionEnd=t}function l(A,e){if(!o)throw Error("Not typing");o.selectionStart=A,o.selectionEnd=e}function u(){const A=n.Ih(this.value,this.selectionStart,this.selectionEnd);this.value=A.content,l(A.selection_start,A.selection_end)}function E(){c(this.value,this,"selectionStart"),c(this.value,this,"selectionEnd"),n.vZ(this.selectionStart,this.selectionEnd)}function f(A){var e,t;const i=this.value.substring(this.selectionStart,this.selectionEnd),n=null!==(e=null==i?void 0:i.toString().replace(a,""))&&void 0!==e?e:"";null===(t=A.clipboardData)||void 0===t||t.setData("text/plain",n),A.preventDefault()}function h(A){if(!o){const A=document.createElement("textarea");A.style.position="fixed",A.style.left="-210px",A.style.height="200px",A.style.opacity="0",A.style.width="9999px",A.style.whiteSpace="pre-line",document.body.appendChild(A),A.addEventListener("input",u),A.addEventListener("selectionchange",E),A.addEventListener("copy",f),o=A}o.focus(),B(A)}function p(){o&&(document.body.removeChild(o),o=null)}i()}catch(y){i(y)}}))},6253:(A,e,t)=>{function i(A,e,t){return Math.min(t,Math.max(e,A))}t.d(e,{A:()=>i})},5179:(A,e,t)=>{function i(A,e){let t;return(...i)=>{window.clearTimeout(t),t=window.setTimeout((()=>{A(...i)}),e)}}t.d(e,{A:()=>i})},7846:(A,e,t)=>{t.d(e,{A:()=>n});var i=t(6253);function n(A,e,t,n){const r=function(A,e,t,n){if(n-e<t-A)return(0,i.A)(e,.2*n,.8*n)/e;return(0,i.A)(A,.2*t,.8*t)/A}(A,e,t,n),s=A*r,a=e*r,o=.5*(t-s),g=.5*(n-a);return[{x:o,y:g+a,u:0,v:1},{x:o+s,y:g+a,u:1,v:1},{x:o+s,y:g,u:1,v:0},{x:o,y:g,u:0,v:0}]}},2842:(A,e,t)=>{t.d(e,{A:()=>r});const i={cross(A,e,t=new Float32Array(3)){const i=A[1]*e[2]-A[2]*e[1],n=A[2]*e[0]-A[0]*e[2],r=A[0]*e[1]-A[1]*e[0];return t[0]=i,t[1]=n,t[2]=r,t},subtract:(A,e,t=new Float32Array(3))=>(t[0]=A[0]-e[0],t[1]=A[1]-e[1],t[2]=A[2]-e[2],t),normalize(A,e=new Float32Array(3)){const t=Math.sqrt(A[0]*A[0]+A[1]*A[1]+A[2]*A[2]);return t>1e-5?(e[0]=A[0]/t,e[1]=A[1]/t,e[2]=A[2]/t):(e[0]=0,e[1]=0,e[2]=0),e}},n={projection:(A,e,t,i)=>n.ortho(0,A,e,0,t,-t,i),perspective(A,e,t,i,n=new Float32Array(16)){const r=Math.tan(.5*Math.PI-.5*A),s=1/(t-i);return n[0]=r/e,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=r,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=i*s,n[11]=-1,n[12]=0,n[13]=0,n[14]=t*i*s,n[15]=0,n},ortho:(A,e,t,i,n,r,s=new Float32Array(16))=>(s[0]=2/(e-A),s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=2/(i-t),s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=1/(n-r),s[11]=0,s[12]=(e+A)/(A-e),s[13]=(i+t)/(t-i),s[14]=n/(n-r),s[15]=1,s),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,e,t=new Float32Array(16)){const i=e[0],n=e[1],r=e[2],s=e[3],a=e[4],o=e[5],g=e[6],I=e[7],C=e[8],Q=e[9],c=e[10],B=e[11],l=e[12],u=e[13],E=e[14],f=e[15],h=A[0],p=A[1],y=A[2],d=A[3],m=A[4],b=A[5],D=A[6],S=A[7],w=A[8],v=A[9],k=A[10],x=A[11],G=A[12],N=A[13],U=A[14],F=A[15];return t[0]=i*h+n*m+r*w+s*G,t[1]=i*p+n*b+r*v+s*N,t[2]=i*y+n*D+r*k+s*U,t[3]=i*d+n*S+r*x+s*F,t[4]=a*h+o*m+g*w+I*G,t[5]=a*p+o*b+g*v+I*N,t[6]=a*y+o*D+g*k+I*U,t[7]=a*d+o*S+g*x+I*F,t[8]=C*h+Q*m+c*w+B*G,t[9]=C*p+Q*b+c*v+B*N,t[10]=C*y+Q*D+c*k+B*U,t[11]=C*d+Q*S+c*x+B*F,t[12]=l*h+u*m+E*w+f*G,t[13]=l*p+u*b+E*v+f*N,t[14]=l*y+u*D+E*k+f*U,t[15]=l*d+u*S+E*x+f*F,t},cameraAim(A,e,t,n=new Float32Array(16)){const r=i.normalize(i.subtract(A,e)),s=i.normalize(i.cross(t,r)),a=i.normalize(i.cross(r,s));return n[0]=s[0],n[1]=s[1],n[2]=s[2],n[3]=0,n[4]=a[0],n[5]=a[1],n[6]=a[2],n[7]=0,n[8]=r[0],n[9]=r[1],n[10]=r[2],n[11]=0,n[12]=A[0],n[13]=A[1],n[14]=A[2],n[15]=1,n},inverse(A,e=new Float32Array(16)){const t=A[0],i=A[1],n=A[2],r=A[3],s=A[4],a=A[5],o=A[6],g=A[7],I=A[8],C=A[9],Q=A[10],c=A[11],B=A[12],l=A[13],u=A[14],E=A[15],f=Q*E,h=u*c,p=o*E,y=u*g,d=o*c,m=Q*g,b=n*E,D=u*r,S=n*c,w=Q*r,v=n*g,k=o*r,x=I*l,G=B*C,N=s*l,U=B*a,F=s*C,M=I*a,R=t*l,L=B*i,z=t*C,J=I*i,q=t*a,O=s*i,K=f*a+y*C+d*l-(h*a+p*C+m*l),T=h*i+b*C+w*l-(f*i+D*C+S*l),Y=p*i+D*a+v*l-(y*i+b*a+k*l),H=m*i+S*a+k*C-(d*i+w*a+v*C),P=1/(t*K+s*T+I*Y+B*H);return e[0]=P*K,e[1]=P*T,e[2]=P*Y,e[3]=P*H,e[4]=P*(h*s+p*I+m*B-(f*s+y*I+d*B)),e[5]=P*(f*t+D*I+S*B-(h*t+b*I+w*B)),e[6]=P*(y*t+b*s+k*B-(p*t+D*s+v*B)),e[7]=P*(d*t+w*s+v*I-(m*t+S*s+k*I)),e[8]=P*(x*g+U*c+F*E-(G*g+N*c+M*E)),e[9]=P*(G*r+R*c+J*E-(x*r+L*c+z*E)),e[10]=P*(N*r+L*g+q*E-(U*r+R*g+O*E)),e[11]=P*(M*r+z*g+O*c-(F*r+J*g+q*c)),e[12]=P*(N*Q+M*u+G*o-(F*u+x*o+U*Q)),e[13]=P*(z*u+x*n+L*Q-(R*Q+J*u+G*n)),e[14]=P*(R*o+O*u+U*n-(q*u+N*n+L*o)),e[15]=P*(q*Q+F*n+J*o-(z*o+O*Q+M*n)),e},transpose:(A,e=new Float32Array(16))=>(e[0]=A[0],e[1]=A[4],e[2]=A[8],e[3]=A[12],e[4]=A[1],e[5]=A[5],e[6]=A[9],e[7]=A[13],e[8]=A[2],e[9]=A[6],e[10]=A[10],e[11]=A[14],e[12]=A[3],e[13]=A[7],e[14]=A[11],e[15]=A[15],e),aim(A,e,t,n=new Float32Array(16)){const r=i.normalize(i.subtract(e,A)),s=i.normalize(i.cross(t,r)),a=i.normalize(i.cross(r,s));return n[0]=s[0],n[1]=s[1],n[2]=s[2],n[3]=0,n[4]=a[0],n[5]=a[1],n[6]=a[2],n[7]=0,n[8]=r[0],n[9]=r[1],n[10]=r[2],n[11]=0,n[12]=A[0],n[13]=A[1],n[14]=A[2],n[15]=1,n},lookAt:(A,e,t,i)=>n.inverse(n.cameraAim(A,e,t,i),i),translation:([A,e,t],i=new Float32Array(16))=>(i[0]=1,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=1,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=1,i[11]=0,i[12]=A,i[13]=e,i[14]=t,i[15]=1,i),rotationX(A,e=new Float32Array(16)){const t=Math.cos(A),i=Math.sin(A);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t,e[6]=i,e[7]=0,e[8]=0,e[9]=-i,e[10]=t,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},rotationY(A,e=new Float32Array(16)){const t=Math.cos(A),i=Math.sin(A);return e[0]=t,e[1]=0,e[2]=-i,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=i,e[9]=0,e[10]=t,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},rotationZ(A,e=new Float32Array(16)){const t=Math.cos(A),i=Math.sin(A);return e[0]=t,e[1]=i,e[2]=0,e[3]=0,e[4]=-i,e[5]=t,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},scaling:([A,e,t],i=new Float32Array(16))=>(i[0]=A,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=e,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=t,i[11]=0,i[12]=0,i[13]=0,i[14]=0,i[15]=1,i),translate:(A,e,t)=>n.multiply(A,n.translation(e),t),rotateX:(A,e,t)=>n.multiply(A,n.rotationX(e),t),rotateY:(A,e,t)=>n.multiply(A,n.rotationY(e),t),rotateZ:(A,e,t)=>n.multiply(A,n.rotationZ(e),t),scale:(A,e,t)=>n.multiply(A,n.scaling(e),t)},r=n},9146:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{$u:()=>RC,Ay:()=>WI,Er:()=>FC,Gl:()=>mC,Hg:()=>MC,Ih:()=>uC,Iq:()=>xC,JQ:()=>$I,LI:()=>SC,Mv:()=>eC,PT:()=>dC,QZ:()=>cC,V9:()=>tC,VA:()=>vC,Vx:()=>QC,Wp:()=>bC,Ws:()=>oC,XO:()=>rC,YF:()=>yC,YM:()=>BC,ZE:()=>kC,Zr:()=>AC,a3:()=>gC,aO:()=>wC,cV:()=>fC,el:()=>nC,hk:()=>IC,io:()=>UC,kl:()=>pC,oA:()=>sC,po:()=>EC,qN:()=>ZI,rp:()=>CC,tE:()=>NC,u9:()=>lC,us:()=>hC,vZ:()=>DC,wH:()=>GC,wV:()=>jI});var n=t(4773);t(1285),t(9592),t(2148),t(4828),t(6973),t(2427),t(1669),t(6929),t(4936),t(8738),t(1432),t(1454),t(6402),t(5940),t(804),t(9098),t(9494),t(337),t(3971),t(7431),t(7591),t(6717),t(2164),t(5496),t(6135),t(9813),t(3793),t(8305),t(3456),t(8539),t(7679),t(2244),t(3509),t(9433),t(8371),t(903),t(3692),t(7382),t(3750),t(1425),t(8773),t(3086),t(8771),t(8991),t(2799),t(4233),t(8502),t(9025),t(9426),t(2059),t(1991),t(5558),t(6584),t(4358),t(2436),t(7409),t(9268),t(9499),t(3586),t(5239);const A={constructor:null,type:0,flags:0,signature:void 0,name:void 0,byteSize:0,align:0,instance:{members:[],template:null},static:{members:[],template:null}},r={type:0,flags:0},s={},a={},o={},g={},I={},C={},Q={},c={},B={},l={},u={},E={},f={},h={},p={},y={},d={},m={},b={},D={},S={},w={},v={},k={},x={},G={},N={},U={},F={},M={},R={},L={},z={},J={},q={},O={},K={},T={},Y={},H={},P={},_={},V={},W={},X={},j={},Z={},$={},AA={},eA={},tA={},iA={},nA={},rA={},sA={},aA={},oA={},gA={},IA={},CA={},QA={},cA={},BA={},lA={},uA={},EA={},fA={},hA={},pA={},yA={},dA={},mA={},bA={},DA={},SA={},wA={},vA={},kA={},xA={},GA={},NA={},UA={},FA={},MA={},RA={},LA={},zA={},JA={},qA={},OA={},KA={},TA={},YA={},HA={},PA={},_A={},VA={},WA={},XA={},jA={},ZA={},$A={},Ae={},ee={},te={},ie={},ne={},re={},se={},ae={},oe={},ge={},Ie={},Ce={},Qe={},ce={},Be={},le={},ue={},Ee={},fe={},he={},pe={},ye={},de={},me={},be={},De={},Se={},we={},ve={},ke={},xe={},Ge={},Ne={},Ue={},Fe={},Me={},Re={},Le={},ze={},Je={},qe={},Oe={},Ke={},Te={},Ye={},He={},Pe={},_e={},Ve={},We={},Xe={},je={},Ze={},$e={},At={},et={},tt={},it={},nt={},rt={},st={},at={},ot={},gt={},It={},Ct={},Qt={},ct={},Bt={},lt={},ut={},Et={},ft={},ht={},pt={},yt={},dt={},mt={},bt={},Dt={},St={},wt={},vt={},kt={},xt={},Gt={},Nt={},Ut={},Ft={},Mt={},Rt={},Lt={},zt={},Jt={},qt={},Ot={},Kt={},Tt={},Yt={},Ht={},Pt={},_t={},Vt={},Wt={},Xt={},jt={},Zt={},$t={},Ai={},ei={},ti={},ii={},ni={},ri={},si={},ai={},oi={},gi={},Ii={},Ci={},Qi={},ci={},Bi={},li={},ui={},Ei={},fi={},hi={},pi={},yi={},di={},mi={},bi={},Di={},Si={},wi={},vi={},ki={},xi={},Gi={},Ni={},Ui={},Fi={},Mi={},Ri={},Li={},zi={},Ji={},qi={},Oi={},Ki={},Ti={},Yi={},Hi={},Pi={},_i={},Vi={},Wi={},Xi={},ji={},Zi={},$i={},An={},en={},tn={},nn={},rn={},sn={},an={},on={},gn={},In={},Cn={},Qn={},cn={},Bn={},ln={},un={},En={},fn={},hn={},pn={},yn={},dn={},mn={},bn={},Dn={},Sn={},wn={},vn={},kn={},xn={},Gn={},Nn={},Un={},Fn={},Mn={},Rn={},Ln={},zn={},Jn={},qn={},On={},Kn={},Tn={},Yn={},Hn={},Pn={},_n={},Vn={},Wn={},Xn={},jn={},Zn={},$n={},Ar={},er={},tr={},ir={},nr={},rr={},sr={},ar={},or={},gr={},Ir={},Cr={},Qr={},cr={},Br={},lr={},ur={},Er={},fr={},hr={},pr={},yr={},dr={},mr={},br={},Dr={},Sr={},wr={},vr={},kr={},xr={},Gr={},Nr={},Ur={},Fr={},Mr={},Rr={},Lr={},zr={},Jr={},qr={},Or={},Kr={},Tr={},Yr={},Hr={},Pr={},_r={},Vr={},Wr={},Xr={},jr={},Zr={},$r={},As={},es={},ts={},is={},ns={},rs={},ss={},as={},os={},gs={},Is={},Cs={},Qs={},cs={},Bs={},ls={},us={},Es={},fs={},hs={},ps={},ys={},ds={},ms={},bs={},Ds={},Ss={},ws={},vs={},ks={},xs={},Gs={},Ns={},Us={},Fs={},Ms={},Rs={},Ls={},zs={},Js={},qs={},Os={},Ks={},Ts={},Ys={},Hs={},Ps={},_s={},Vs={},Ws={},Xs={},js={},Zs={},$s={},Aa={},ea={},ta={},ia={},na={},ra={},sa={},aa={},oa={},ga={},Ia={},Ca={},Qa={},ca={},Ba={},la={},ua={},Ea={},fa={},ha={},pa={},ya={},da={},ma={},ba={},Da={},Sa={},wa={},va={},ka={},xa={},Ga={},Na={},Ua={},Fa={},Ma={},Ra={},La={},za={},Ja={},qa={},Oa={},Ka={},Ta={},Ya={},Ha={},Pa={},_a={},Va={},Wa={},Xa={},ja={},Za={},$a={},Ao={},eo={},to={},io={},no={},ro={},so={},ao={},oo={},go={},Io={},Co={},Qo={},co={},Bo={},lo={},uo={},Eo={},fo={},ho={},po={},yo={},mo={},bo={},Do={},So={},wo={},vo={},ko={},xo={},Go={},No={},Uo={},Fo={},Mo={},Ro={},Lo={},zo={},Jo={},qo={},Oo={},Ko={},To={},Yo={},Ho={},Po={},_o={},Vo={},Wo={},Xo={},jo={},Zo={},$o={},Ag={},eg={},tg={},ig={},ng={},rg={},sg={},ag={},og={},gg={},Ig={},Cg={},Qg={},cg={},Bg={},lg={},ug={},Eg={},fg={},hg={},pg={},yg={},dg=A=>new Uint8Array(A),mg=dg(0),bg=dg(8),Dg=dg(16),Sg=dg(64),wg=dg(16),vg=dg(32),kg=dg(32),xg=dg(352),Gg=dg(352),Ng=dg(1),Ug=dg([1]),Fg=dg([2]),Mg=dg(32),Rg=dg(76),Lg=dg(8),zg=dg(40),Jg=dg(72),qg=dg(20),Og=dg(24),Kg=dg(28),Tg=dg(1),Yg=dg(Ug),Hg=dg(Fg),Pg=dg(40),_g=dg(8),Vg=dg([170,170,170,170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,63]),Wg=dg(112),Xg=dg(104),jg=dg(1),Zg=dg(Ug),$g=dg(Fg),AI=dg([8,0]),eI=dg([170,170,170,170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),tI=dg(16),iI=dg(AI),nI=dg(AI),rI=dg(AI),sI=dg(AI),aI=dg(AI),oI=dg(16),gI=dg([2,0]),II=dg(AI),CI=dg([9,0]),QI=dg([10,0]),cI=dg(gI),BI=dg(AI),lI=dg(CI),uI=dg(QI),EI=dg(AI),fI=dg(gI),hI=dg(AI),pI=dg(CI),yI=dg(QI),dI=dg(AI),mI=dg(AI),bI=dg(AI),DI=dg(AI),SI=dg(gI),wI=dg(AI),vI=dg(CI),kI=dg(QI),xI=dg(AI),GI=dg(AI),NI=dg(2),UI=dg([1,0]),FI=dg(gI),MI=dg([3,0]),RI=dg(AI),LI=dg(AI),zI=dg(gI),JI=dg(AI),qI=dg(CI),OI=dg(QI),KI=dg([232,3,0,0]),TI=Object.assign;TI(In,{memory:{array:mg},handle:109}),TI(Cn,{memory:{array:mg},handle:110}),TI(Qn,{memory:{array:mg},handle:111}),TI(cn,{memory:{array:bg}}),TI(Bn,{slots:{0:ln,2:un,3:En,4:fn}}),TI(ln,{structure:g,memory:{array:mg},handle:100}),TI(un,{structure:C,memory:{array:mg},handle:101}),TI(En,{structure:g,memory:{array:mg},handle:102}),TI(fn,{structure:c,memory:{array:mg},handle:103}),TI(hn,{memory:{array:mg},handle:112}),TI(pn,{memory:{array:mg},handle:113}),TI(yn,{memory:{array:mg},handle:114}),TI(dn,{memory:{array:Dg}}),TI(mn,{slots:{0:bn,1:Dn,2:Sn,3:wn}}),TI(bn,{structure:u,memory:{array:mg},handle:100}),TI(Dn,{structure:f,memory:{array:mg},handle:104}),TI(Sn,{structure:f,memory:{array:mg},handle:101}),TI(wn,{structure:p,memory:{array:mg},handle:105}),TI(vn,{memory:{array:mg},handle:41}),TI(kn,{memory:{array:mg},handle:42}),TI(xn,{memory:{array:Sg}}),TI(Gn,{memory:{array:mg},handle:43}),TI(Nn,{memory:{array:mg},handle:44}),TI(Un,{memory:{array:mg},handle:45}),TI(Fn,{memory:{array:mg},handle:46}),TI(Mn,{memory:{array:mg},handle:47}),TI(Rn,{memory:{array:mg},handle:48}),TI(Ln,{memory:{array:wg}}),TI(zn,{memory:{array:mg},handle:49}),TI(Jn,{memory:{array:mg},handle:50}),TI(qn,{memory:{array:mg},handle:51}),TI(On,{memory:{array:mg},handle:52}),TI(Kn,{memory:{array:vg}}),TI(Tn,{memory:{array:kg}}),TI(Yn,{memory:{array:xg}}),TI(Hn,{memory:{array:Gg}}),TI(Pn,{slots:{0:_n,1:Vn,2:Wn}}),TI(_n,{structure:aA,memory:{array:Ng},const:!0}),TI(Vn,{structure:aA,memory:{array:Ug},const:!0}),TI(Wn,{structure:aA,memory:{array:Fg},const:!0}),TI(Xn,{memory:{array:mg},handle:53}),TI(jn,{memory:{array:mg},handle:54}),TI(Zn,{memory:{array:Mg}}),TI($n,{memory:{array:mg},handle:41}),TI(Ar,{memory:{array:mg},handle:55}),TI(er,{memory:{array:Rg}}),TI(tr,{memory:{array:mg},handle:43}),TI(ir,{memory:{array:mg},handle:56}),TI(nr,{memory:{array:Lg}}),TI(rr,{memory:{array:mg},handle:57}),TI(sr,{memory:{array:mg},handle:58}),TI(ar,{memory:{array:zg},handle:266772,slots:{0:or,1:Ir,2:Qr,3:Br,4:ur,5:fr,6:pr,7:dr,8:br,9:Sr}}),TI(or,{structure:w,memory:{array:zg,offset:0,length:4},slots:{0:gr}}),TI(gr,{structure:S,memory:{array:mg}}),TI(Ir,{structure:R,memory:{array:zg,offset:4,length:4},slots:{0:Cr}}),TI(Cr,{structure:M,memory:{array:mg}}),TI(Qr,{structure:O,memory:{array:zg,offset:8,length:4},slots:{0:cr}}),TI(cr,{structure:q,memory:{array:mg}}),TI(Br,{structure:Y,memory:{array:zg,offset:12,length:4},slots:{0:lr}}),TI(lr,{structure:T,memory:{array:mg}}),TI(ur,{structure:V,memory:{array:zg,offset:16,length:4},slots:{0:Er}}),TI(Er,{structure:_,memory:{array:mg}}),TI(fr,{structure:j,memory:{array:zg,offset:20,length:4},slots:{0:hr}}),TI(hr,{structure:X,memory:{array:mg}}),TI(pr,{structure:CA,memory:{array:zg,offset:24,length:4},slots:{0:yr}}),TI(yr,{structure:IA,memory:{array:mg}}),TI(dr,{structure:fA,memory:{array:zg,offset:28,length:4},slots:{0:mr}}),TI(mr,{structure:EA,memory:{array:mg}}),TI(br,{structure:bA,memory:{array:zg,offset:32,length:4},slots:{0:Dr}}),TI(Dr,{structure:mA,memory:{array:mg}}),TI(Sr,{structure:vA,memory:{array:zg,offset:36,length:4},slots:{0:wr}}),TI(wr,{structure:wA,memory:{array:mg}}),TI(vr,{memory:{array:mg},handle:40}),TI(kr,{memory:{array:mg},handle:115}),TI(xr,{memory:{array:Jg}}),TI(Gr,{slots:{0:Nr}}),TI(Nr,{structure:RA,memory:{array:mg},handle:106}),TI(Ur,{memory:{array:qg}}),TI(Fr,{memory:{array:Og},handle:268412,slots:{2:Mr}}),TI(Mr,{structure:KA,memory:{array:Og,offset:16,length:8}}),TI(Rr,{memory:{array:Kg},handle:268436,slots:{3:Lr}}),TI(Lr,{structure:KA,memory:{array:Kg,offset:20,length:8}}),TI(zr,{slots:{0:Jr,1:qr,2:Or}}),TI(Jr,{structure:HA,memory:{array:Tg},const:!0}),TI(qr,{structure:HA,memory:{array:Yg},const:!0}),TI(Or,{structure:HA,memory:{array:Hg},const:!0}),TI(Kr,{memory:{array:Pg},handle:267392,slots:{2:Tr}}),TI(Tr,{structure:PA,memory:{array:Pg,offset:8,length:32},slots:{0:Yr,1:Pr}}),TI(Yr,{structure:TA,memory:{array:Pg,offset:8,length:24},slots:{2:Hr}}),TI(Hr,{structure:KA,memory:{array:Pg,offset:24,length:8}}),TI(Pr,{structure:YA,memory:{array:Pg,offset:8,length:28},slots:{3:_r}}),TI(_r,{structure:KA,memory:{array:Pg,offset:28,length:8}}),TI(Vr,{memory:{array:_g}}),TI(Wr,{memory:{array:Vg},handle:266536,slots:{0:Xr}}),TI(Xr,{structure:WA,memory:{array:Vg,offset:0,length:8},slots:{0:jr}}),TI(jr,{structure:VA,memory:{array:mg}}),TI(Zr,{memory:{array:mg},handle:116}),TI($r,{memory:{array:Wg},handle:267504,slots:{1:As,2:es}}),TI(As,{structure:JA,memory:{array:Wg,offset:4,length:8}}),TI(es,{structure:ZA,memory:{array:Wg,offset:12,length:24},slots:{0:ts}}),TI(ts,{structure:WA,memory:{array:Wg,offset:12,length:8}}),TI(is,{slots:{0:ns}}),TI(ns,{structure:ee,memory:{array:mg},handle:107}),TI(rs,{memory:{array:mg},handle:117}),TI(ss,{memory:{array:Xg},handle:267616,slots:{1:as,4:gs}}),TI(as,{structure:se,memory:{array:Xg,offset:4,length:8},slots:{0:os}}),TI(os,{structure:ne,memory:{array:Xg,offset:4,length:8}}),TI(gs,{structure:ZA,memory:{array:Xg,offset:80,length:24},slots:{0:Is}}),TI(Is,{structure:WA,memory:{array:Xg,offset:80,length:8}}),TI(Cs,{slots:{0:Qs}}),TI(Qs,{structure:oe,memory:{array:mg},handle:108}),TI(cs,{slots:{0:Bs,1:ls,2:us}}),TI(Bs,{structure:Ie,memory:{array:jg},const:!0}),TI(ls,{structure:Ie,memory:{array:Zg},const:!0}),TI(us,{structure:Ie,memory:{array:$g},const:!0}),TI(Es,{memory:{array:mg},handle:43}),TI(fs,{memory:{array:mg},handle:59}),TI(hs,{memory:{array:mg},handle:60}),TI(ps,{memory:{array:mg},handle:61}),TI(ys,{memory:{array:mg},handle:62}),TI(ds,{memory:{array:mg},handle:60}),TI(ms,{memory:{array:mg},handle:66}),TI(bs,{memory:{array:mg},handle:67}),TI(Ds,{memory:{array:mg},handle:63}),TI(Ss,{memory:{array:mg},handle:64}),TI(ws,{memory:{array:mg},handle:65}),TI(vs,{memory:{array:mg},handle:68}),TI(ks,{memory:{array:mg},handle:69}),TI(xs,{memory:{array:mg},handle:60}),TI(Gs,{slots:{0:Ns}}),TI(Ns,{structure:Je,memory:{array:AI},const:!0}),TI(Us,{memory:{array:mg},handle:71}),TI(Fs,{memory:{array:eI},handle:266196,slots:{0:Ms}}),TI(Ms,{structure:z,memory:{array:eI,offset:0,length:8},slots:{0:Rs}}),TI(Rs,{structure:L,memory:{array:mg}}),TI(Ls,{slots:{0:zs}}),TI(zs,{structure:Te,memory:{array:mg},handle:70}),TI(Js,{memory:{array:mg},handle:72}),TI(qs,{memory:{array:mg},handle:73}),TI(Os,{memory:{array:mg},handle:91}),TI(Ks,{memory:{array:mg},handle:92}),TI(Ts,{memory:{array:mg},handle:79}),TI(Ys,{memory:{array:mg},handle:80}),TI(Hs,{memory:{array:mg},handle:74}),TI(Ps,{memory:{array:mg},handle:75}),TI(_s,{memory:{array:mg},handle:76}),TI(Vs,{memory:{array:mg},handle:77}),TI(Ws,{memory:{array:mg},handle:78}),TI(Xs,{memory:{array:tI}}),TI(js,{memory:{array:mg},handle:81}),TI(Zs,{memory:{array:mg},handle:82}),TI($s,{memory:{array:mg},handle:83}),TI(Aa,{memory:{array:mg},handle:84}),TI(ea,{memory:{array:mg},handle:85}),TI(ta,{memory:{array:mg},handle:60}),TI(ia,{slots:{0:na}}),TI(na,{structure:dt,memory:{array:iI},const:!0}),TI(ra,{memory:{array:mg},handle:86}),TI(sa,{memory:{array:mg},handle:87}),TI(aa,{slots:{0:oa}}),TI(oa,{structure:xt,memory:{array:nI},const:!0}),TI(ga,{memory:{array:mg},handle:88}),TI(Ia,{slots:{0:Ca}}),TI(Ca,{structure:Ft,memory:{array:rI},const:!0}),TI(Qa,{memory:{array:mg},handle:89}),TI(ca,{slots:{0:Ba}}),TI(Ba,{structure:zt,memory:{array:sI},const:!0}),TI(la,{memory:{array:mg},handle:90}),TI(ua,{slots:{0:Ea}}),TI(Ea,{structure:Kt,memory:{array:aI},const:!0}),TI(fa,{memory:{array:mg},handle:90}),TI(ha,{memory:{array:oI},handle:266836,slots:{0:pa}}),TI(pa,{structure:ne,memory:{array:oI,offset:0,length:8}}),TI(ya,{slots:{0:da,1:ma,2:ba,3:Da}}),TI(da,{structure:_t,memory:{array:gI},const:!0}),TI(ma,{structure:_t,memory:{array:II},const:!0}),TI(ba,{structure:_t,memory:{array:CI},const:!0}),TI(Da,{structure:_t,memory:{array:QI},const:!0}),TI(Sa,{memory:{array:mg},handle:93}),TI(wa,{slots:{0:va,1:ka,2:xa,3:Ga}}),TI(va,{structure:jt,memory:{array:cI},const:!0}),TI(ka,{structure:jt,memory:{array:BI},const:!0}),TI(xa,{structure:jt,memory:{array:lI},const:!0}),TI(Ga,{structure:jt,memory:{array:uI},const:!0}),TI(Na,{memory:{array:mg},handle:94}),TI(Ua,{slots:{0:Fa}}),TI(Fa,{structure:ei,memory:{array:EI},const:!0}),TI(Ma,{memory:{array:mg},handle:90}),TI(Ra,{slots:{0:La,1:za,2:Ja,3:qa}}),TI(La,{structure:ri,memory:{array:fI},const:!0}),TI(za,{structure:ri,memory:{array:hI},const:!0}),TI(Ja,{structure:ri,memory:{array:pI},const:!0}),TI(qa,{structure:ri,memory:{array:yI},const:!0}),TI(Oa,{memory:{array:mg},handle:94}),TI(Ka,{memory:{array:mg},handle:90}),TI(Ta,{slots:{0:Ya}}),TI(Ya,{structure:ci,memory:{array:dI},const:!0}),TI(Ha,{memory:{array:mg},handle:90}),TI(Pa,{memory:{array:mg},handle:90}),TI(_a,{slots:{0:Va}}),TI(Va,{structure:yi,memory:{array:mI},const:!0}),TI(Wa,{memory:{array:mg},handle:90}),TI(Xa,{slots:{0:ja}}),TI(ja,{structure:Di,memory:{array:bI},const:!0}),TI(Za,{memory:{array:mg},handle:90}),TI($a,{slots:{0:Ao}}),TI(Ao,{structure:ki,memory:{array:DI},const:!0}),TI(eo,{memory:{array:mg},handle:90}),TI(to,{slots:{0:io,1:no,2:ro,3:so}}),TI(io,{structure:Ui,memory:{array:SI},const:!0}),TI(no,{structure:Ui,memory:{array:wI},const:!0}),TI(ro,{structure:Ui,memory:{array:vI},const:!0}),TI(so,{structure:Ui,memory:{array:kI},const:!0}),TI(ao,{memory:{array:mg},handle:95}),TI(oo,{slots:{0:go}}),TI(go,{structure:Li,memory:{array:xI},const:!0}),TI(Io,{memory:{array:mg},handle:96}),TI(Co,{slots:{0:Qo}}),TI(Qo,{structure:Oi,memory:{array:GI},const:!0}),TI(co,{memory:{array:mg},handle:90}),TI(Bo,{slots:{0:lo,1:uo,2:Eo,3:fo}}),TI(lo,{structure:_i,memory:{array:NI},const:!0}),TI(uo,{structure:_i,memory:{array:UI},const:!0}),TI(Eo,{structure:_i,memory:{array:FI},const:!0}),TI(fo,{structure:_i,memory:{array:MI},const:!0}),TI(ho,{memory:{array:mg},handle:97}),TI(po,{slots:{0:yo}}),TI(yo,{structure:Xi,memory:{array:RI},const:!0}),TI(mo,{memory:{array:mg},handle:87}),TI(bo,{slots:{0:Do}}),TI(Do,{structure:An,memory:{array:LI},const:!0}),TI(So,{memory:{array:mg},handle:98}),TI(wo,{slots:{0:vo,1:ko,2:xo,3:Go}}),TI(vo,{structure:rn,memory:{array:zI},const:!0}),TI(ko,{structure:rn,memory:{array:JI},const:!0}),TI(xo,{structure:rn,memory:{array:qI},const:!0}),TI(Go,{structure:rn,memory:{array:OI},const:!0}),TI(No,{memory:{array:mg},handle:99}),TI(Uo,{slots:{0:Fo,1:Mo,2:Ro,3:Lo,4:zo,5:Jo,6:Oo,7:To,9:Yo,10:Ho,11:Po,12:_o,13:Vo,14:Wo,15:Xo,16:jo,17:Zo,18:$o,19:Ag,20:eg,21:tg,22:ig,23:ng,24:rg,25:sg,26:ag,27:og,28:gg,29:Ig,30:Cg,31:Qg,32:cg,33:Bg,34:lg,35:ug,36:Eg,37:fg,38:hg,39:pg,40:yg}}),TI(Fo,{structure:NA,memory:{array:mg},handle:2}),TI(Mo,{structure:fe,memory:{array:mg},handle:3}),TI(Ro,{structure:me,memory:{array:mg},handle:4}),TI(Lo,{structure:Ge,memory:{array:mg},handle:5}),TI(zo,{structure:Le,memory:{array:mg},handle:6}),TI(Jo,{structure:ze,memory:{array:mg},slots:{0:qo}}),TI(qo,{structure:Ye}),TI(Oo,{structure:ze,memory:{array:mg},slots:{0:Ko}}),TI(Ko,{structure:Pe}),TI(To,{structure:ot,memory:{array:mg},handle:7}),TI(Yo,{structure:Bt,memory:{array:mg},handle:8}),TI(Ho,{structure:yt,memory:{array:mg},handle:9}),TI(Po,{structure:b,memory:{array:KI},const:!0}),TI(_o,{structure:Dt,memory:{array:mg},handle:10}),TI(Vo,{structure:kt,memory:{array:mg},handle:11}),TI(Wo,{structure:Ut,memory:{array:mg},handle:12}),TI(Xo,{structure:Lt,memory:{array:mg},handle:13}),TI(jo,{structure:Ot,memory:{array:mg},handle:14}),TI(Zo,{structure:pe,memory:{array:mg},handle:15}),TI($o,{structure:We,memory:{array:mg},handle:16}),TI(Ag,{structure:Ht,memory:{array:mg},handle:17}),TI(eg,{structure:Xt,memory:{array:mg},handle:18}),TI(tg,{structure:Ai,memory:{array:mg},handle:19}),TI(ig,{structure:ni,memory:{array:mg},handle:20}),TI(ng,{structure:oi,memory:{array:mg},handle:21}),TI(rg,{structure:Qi,memory:{array:mg},handle:22}),TI(sg,{structure:ui,memory:{array:mg},handle:23}),TI(ag,{structure:pi,memory:{array:mg},handle:24}),TI(og,{structure:bi,memory:{array:mg},handle:25}),TI(gg,{structure:We,memory:{array:mg},handle:26}),TI(Ig,{structure:Ze,memory:{array:mg},handle:27}),TI(Cg,{structure:vi,memory:{array:mg},handle:28}),TI(Qg,{structure:Ni,memory:{array:mg},handle:29}),TI(cg,{structure:Ri,memory:{array:mg},handle:30}),TI(Bg,{structure:We,memory:{array:mg},handle:31}),TI(lg,{structure:qi,memory:{array:mg},handle:32}),TI(ug,{structure:Yi,memory:{array:mg},handle:33}),TI(Eg,{structure:Wi,memory:{array:mg},handle:34}),TI(fg,{structure:$i,memory:{array:mg},handle:35}),TI(hg,{structure:nn,memory:{array:mg},handle:36}),TI(pg,{structure:on,memory:{array:mg},handle:37}),TI(yg,{structure:We,memory:{array:mg},handle:38}),TI(s,{...A,flags:1,signature:0xa310b7d01f11b8can,name:"void",align:1,instance:{members:[{...r,bitOffset:0,bitSize:0,byteSize:0,structure:s}]}}),TI(a,{...A,flags:1,signature:0x61e77abe97c52d51n,name:"f32",byteSize:4,align:4,instance:{members:[{...r,type:4,bitOffset:0,bitSize:32,byteSize:4,structure:a}]}}),TI(o,{...A,type:12,flags:10,signature:0x207e329602a86755n,name:"Arg(fn (Point, Point) Point)",length:2,byteSize:24,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:0,name:"retval",structure:B},{...r,type:5,flags:1,bitOffset:64,bitSize:64,byteSize:8,slot:1,name:"0",structure:B},{...r,type:5,flags:1,bitOffset:128,bitSize:64,byteSize:8,slot:2,name:"1",structure:B}]}}),TI(g,{...A,type:14,signature:0x8e48777d39cc425en,name:"fn (Point, Point) Point",length:2,instance:{members:[{...r,type:5,bitSize:192,byteSize:24,structure:o}],template:In}}),TI(I,{...A,type:12,flags:10,signature:0x61503e2c040eea30n,name:"Arg(fn (Point, Point) f32)",length:2,byteSize:20,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"retval",structure:a},{...r,type:5,flags:1,bitOffset:32,bitSize:64,byteSize:8,slot:1,name:"0",structure:B},{...r,type:5,flags:1,bitOffset:96,bitSize:64,byteSize:8,slot:2,name:"1",structure:B}]}}),TI(C,{...A,type:14,signature:0x18a1631fcf9c9650n,name:"fn (Point, Point) f32",length:2,instance:{members:[{...r,type:5,bitSize:160,byteSize:20,structure:I}],template:Cn}}),TI(Q,{...A,type:12,flags:10,signature:0x2c8b0923044d56a3n,name:"Arg(fn (Point) f32)",length:1,byteSize:12,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"retval",structure:a},{...r,type:5,flags:1,bitOffset:32,bitSize:64,byteSize:8,slot:1,name:"0",structure:B}]}}),TI(c,{...A,type:14,signature:0xd65e9ab75b9dec39n,name:"fn (Point) f32",length:1,instance:{members:[{...r,type:5,bitSize:96,byteSize:12,structure:Q}],template:Qn}}),TI(B,{...A,type:2,flags:16,signature:0xc6238f223c317b90n,name:"Point",byteSize:8,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"x",structure:a},{...r,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"y",structure:a}],template:cn},static:{members:[{...r,type:5,flags:18,slot:0,name:"mid",structure:g},{...r,type:5,flags:18,slot:2,name:"distance",structure:C},{...r,type:5,flags:18,slot:3,name:"diff",structure:g},{...r,type:5,flags:18,slot:4,name:"length",structure:c}],template:Bn}}),TI(l,{...A,type:12,flags:10,signature:0x8d352bb77a26e612n,name:"Arg(fn (PointUV, PointUV) Point)",length:2,byteSize:40,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:0,name:"retval",structure:B},{...r,type:5,flags:1,bitOffset:64,bitSize:128,byteSize:16,slot:1,name:"0",structure:y},{...r,type:5,flags:1,bitOffset:192,bitSize:128,byteSize:16,slot:2,name:"1",structure:y}]}}),TI(u,{...A,type:14,signature:0x0f1df05e0d01db92n,name:"fn (PointUV, PointUV) Point",length:2,instance:{members:[{...r,type:5,bitSize:320,byteSize:40,structure:l}],template:hn}}),TI(E,{...A,type:12,flags:10,signature:0x9961a28ae296031fn,name:"Arg(fn (PointUV, PointUV) f32)",length:2,byteSize:36,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"retval",structure:a},{...r,type:5,flags:1,bitOffset:32,bitSize:128,byteSize:16,slot:1,name:"0",structure:y},{...r,type:5,flags:1,bitOffset:160,bitSize:128,byteSize:16,slot:2,name:"1",structure:y}]}}),TI(f,{...A,type:14,signature:0xb56a381f65765bdcn,name:"fn (PointUV, PointUV) f32",length:2,instance:{members:[{...r,type:5,bitSize:288,byteSize:36,structure:E}],template:pn}}),TI(h,{...A,type:12,flags:10,signature:0xe743c73bc7c6fe7bn,name:"Arg(fn (PointUV) Point)",length:1,byteSize:24,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:0,name:"retval",structure:B},{...r,type:5,flags:1,bitOffset:64,bitSize:128,byteSize:16,slot:1,name:"0",structure:y}]}}),TI(p,{...A,type:14,signature:0xb4b152a5ffc2fd66n,name:"fn (PointUV) Point",length:1,instance:{members:[{...r,type:5,bitSize:192,byteSize:24,structure:h}],template:yn}}),TI(y,{...A,type:2,flags:16,signature:0x526f11b57045ab14n,name:"PointUV",byteSize:16,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"x",structure:a},{...r,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"y",structure:a},{...r,type:4,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"u",structure:a},{...r,type:4,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"v",structure:a}],template:dn},static:{members:[{...r,type:5,flags:18,slot:0,name:"mid",structure:u},{...r,type:5,flags:18,slot:1,name:"angleTo",structure:f},{...r,type:5,flags:18,slot:2,name:"distance",structure:f},{...r,type:5,flags:18,slot:3,name:"toPoint",structure:p}],template:mn}}),TI(d,{...A,type:9,flags:10,signature:0xfecc1a9f32c06d42n,name:"[_]PointUV",byteSize:16,align:4,instance:{members:[{...r,type:5,bitSize:128,byteSize:16,structure:y}]}}),TI(m,{...A,type:8,flags:188,signature:0x2905307feb293d85n,name:"[]const PointUV",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:d}]}}),TI(b,{...A,flags:1,signature:0x68598db431a811a3n,name:"u32",byteSize:4,align:4,instance:{members:[{...r,type:3,bitOffset:0,bitSize:32,byteSize:4,structure:b}]}}),TI(D,{...A,type:12,flags:14,signature:0x9ddbe0c6075e76cbn,name:"Arg(fn ([]const PointUV, u32) void)",length:2,byteSize:12,align:4,instance:{members:[{...r,flags:1,bitOffset:96,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:m},{...r,type:3,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"1",structure:b}]}}),TI(S,{...A,type:14,signature:0x6bba777479940b36n,name:"fn ([]const PointUV, u32) void",length:2,instance:{members:[{...r,type:5,bitSize:96,byteSize:12,structure:D}],template:vn},static:{members:[],template:kn}}),TI(w,{...A,type:8,flags:204,signature:0x1b2e4a00e258618fn,name:"*const fn ([]const PointUV, u32) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:S}]}}),TI(v,{...A,flags:1,signature:0x370ee22b85937307n,name:"u8",byteSize:1,align:1,instance:{members:[{...r,type:3,bitOffset:0,bitSize:8,byteSize:1,structure:v}]}}),TI(k,{...A,type:1,flags:224,signature:0x72a0d50910cc3369n,name:"[4]u8",length:4,byteSize:4,align:1,instance:{members:[{...r,type:3,bitSize:8,byteSize:1,structure:v}]}}),TI(x,{...A,type:1,flags:64,signature:0x965d25e134612060n,name:"[3]f32",length:3,byteSize:12,align:4,instance:{members:[{...r,type:4,bitSize:32,byteSize:4,structure:a}]}}),TI(G,{...A,type:2,flags:26,signature:0x192d6f39fdd42e6en,name:"DrawInstance",byteSize:64,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:128,byteSize:16,slot:0,name:"p0",structure:y},{...r,type:5,flags:1,bitOffset:128,bitSize:128,byteSize:16,slot:1,name:"p1",structure:y},{...r,type:5,flags:1,bitOffset:256,bitSize:128,byteSize:16,slot:2,name:"p2",structure:y},{...r,type:5,flags:1,bitOffset:384,bitSize:32,byteSize:4,slot:3,name:"color",structure:k},{...r,type:5,flags:1,bitOffset:416,bitSize:96,byteSize:12,slot:4,name:"radius",structure:x}],template:xn}}),TI(N,{...A,type:9,flags:10,signature:0x914ee09efb47cbf7n,name:"[_]DrawInstance",byteSize:64,align:4,instance:{members:[{...r,type:5,bitSize:512,byteSize:64,structure:G}]}}),TI(U,{...A,type:8,flags:188,signature:0x39778fa380da3875n,name:"[]const DrawInstance",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:N}]}}),TI(F,{...A,type:12,flags:14,signature:0x93ffc88e8c95765dn,name:"Arg(fn ([]const DrawInstance) void)",length:1,byteSize:8,align:4,instance:{members:[{...r,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:U}]}}),TI(M,{...A,type:14,signature:0xe9f243b3e4ecde6cn,name:"fn ([]const DrawInstance) void",length:1,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:F}],template:Gn},static:{members:[],template:Nn}}),TI(R,{...A,type:8,flags:204,signature:0xffb0918139c04f1an,name:"*const fn ([]const DrawInstance) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:M}]}}),TI(L,{...A,type:9,flags:10,signature:0xc2e8551856512494n,name:"[_]Point",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:B}]}}),TI(z,{...A,type:8,flags:188,signature:0x04fa74127b6acc09n,name:"[]const Point",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:L}]}}),TI(J,{...A,type:12,flags:14,signature:0xbcabfdc00e2aa5efn,name:"Arg(fn ([]const Point, u32, u32, u32) void)",length:4,byteSize:20,align:4,instance:{members:[{...r,flags:1,bitOffset:160,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:z},{...r,type:3,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"1",structure:b},{...r,type:3,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"2",structure:b},{...r,type:3,flags:1,bitOffset:128,bitSize:32,byteSize:4,slot:4,name:"3",structure:b}]}}),TI(q,{...A,type:14,signature:0x28e16a0b4ee9f18cn,name:"fn ([]const Point, u32, u32, u32) void",length:4,instance:{members:[{...r,type:5,bitSize:160,byteSize:20,structure:J}],template:Un},static:{members:[],template:Fn}}),TI(O,{...A,type:8,flags:204,signature:0x9ac954f1f874b3b5n,name:"*const fn ([]const Point, u32, u32, u32) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:q}]}}),TI(K,{...A,type:12,signature:0x9a708346bd652dc9n,name:"Arg(fn (u32, u32, u32, u32) void)",length:4,byteSize:16,align:4,instance:{members:[{...r,flags:1,bitOffset:128,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:b},{...r,type:3,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:2,name:"1",structure:b},{...r,type:3,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:3,name:"2",structure:b},{...r,type:3,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:4,name:"3",structure:b}]}}),TI(T,{...A,type:14,signature:0x4af89192d7f7e364n,name:"fn (u32, u32, u32, u32) void",length:4,instance:{members:[{...r,type:5,bitSize:128,byteSize:16,structure:K}],template:Mn},static:{members:[],template:Rn}}),TI(Y,{...A,type:8,flags:204,signature:0x96ca213ec0738fa3n,name:"*const fn (u32, u32, u32, u32) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:T}]}}),TI(H,{...A,type:2,signature:0x0253d658a7e15a7an,name:"Placement",byteSize:16,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"x",structure:a},{...r,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"y",structure:a},{...r,type:4,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"width",structure:a},{...r,type:4,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"height",structure:a}],template:Ln}}),TI(P,{...A,type:12,flags:10,signature:0x7ec4cbcd82d19090n,name:"Arg(fn (u32, u32, u32, Placement) void)",length:4,byteSize:28,align:4,instance:{members:[{...r,flags:1,bitOffset:224,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:b},{...r,type:3,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:2,name:"1",structure:b},{...r,type:3,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:3,name:"2",structure:b},{...r,type:5,flags:1,bitOffset:96,bitSize:128,byteSize:16,slot:4,name:"3",structure:H}]}}),TI(_,{...A,type:14,signature:0xd690a44ec2f29c5cn,name:"fn (u32, u32, u32, Placement) void",length:4,instance:{members:[{...r,type:5,bitSize:224,byteSize:28,structure:P}],template:zn},static:{members:[],template:Jn}}),TI(V,{...A,type:8,flags:204,signature:0x4ccf7def3d1e7c54n,name:"*const fn (u32, u32, u32, Placement) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:_}]}}),TI(W,{...A,type:12,signature:0xc8f1446a55bbdcc4n,name:"Arg(fn (u32, u32, u32, u32, f32, f32) void)",length:6,byteSize:24,align:4,instance:{members:[{...r,flags:1,bitOffset:192,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:b},{...r,type:3,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:2,name:"1",structure:b},{...r,type:3,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:3,name:"2",structure:b},{...r,type:3,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:4,name:"3",structure:b},{...r,type:4,flags:1,bitOffset:128,bitSize:32,byteSize:4,slot:5,name:"4",structure:a},{...r,type:4,flags:1,bitOffset:160,bitSize:32,byteSize:4,slot:6,name:"5",structure:a}]}}),TI(X,{...A,type:14,signature:0xc990915d10e8c5e9n,name:"fn (u32, u32, u32, u32, f32, f32) void",length:6,instance:{members:[{...r,type:5,bitSize:192,byteSize:24,structure:W}],template:qn},static:{members:[],template:On}}),TI(j,{...A,type:8,flags:204,signature:0xfdea5d2863b67a83n,name:"*const fn (u32, u32, u32, u32, f32, f32) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:X}]}}),TI(Z,{...A,type:1,flags:64,signature:0x60772e176987374dn,name:"[2]u32",length:2,byteSize:8,align:4,instance:{members:[{...r,type:3,bitSize:32,byteSize:4,structure:b}]}}),TI($,{...A,type:10,flags:16,signature:0x54c1b3c549d13acan,name:"@Vector(4, f32)",length:4,byteSize:16,align:16,instance:{members:[{...r,type:4,bitSize:32,byteSize:4,structure:a}]}}),TI(AA,{...A,type:2,flags:26,signature:0xbd6fe708f9f8d6ffn,name:"UniformSolid",byteSize:32,align:16,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"dist_start",structure:a},{...r,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"dist_end",structure:a},{...r,type:5,bitOffset:64,bitSize:64,byteSize:8,slot:2,name:"padding",structure:Z},{...r,type:5,flags:1,bitOffset:128,bitSize:128,byteSize:16,slot:3,name:"color",structure:$}],template:Kn}}),TI(eA,{...A,type:1,flags:64,signature:0x55b5c2c225a6545bn,name:"[4]f32",length:4,byteSize:16,align:4,instance:{members:[{...r,type:4,bitSize:32,byteSize:4,structure:a}]}}),TI(tA,{...A,type:1,flags:64,signature:0xf25f9cba158fbe10n,name:"[3]u32",length:3,byteSize:12,align:4,instance:{members:[{...r,type:3,bitSize:32,byteSize:4,structure:b}]}}),TI(iA,{...A,type:2,flags:4122,signature:0xcaf30c045081f68fn,name:"UniformGradientStop",byteSize:32,align:4,instance:{members:[{...r,type:5,bitOffset:0,bitSize:128,byteSize:16,slot:0,name:"color",structure:eA},{...r,type:4,bitOffset:128,bitSize:32,byteSize:4,slot:1,name:"offset",structure:a},{...r,type:5,bitOffset:160,bitSize:96,byteSize:12,slot:2,name:"padding",structure:tA}],template:Tn}}),TI(nA,{...A,type:1,flags:10,signature:0xb8c0b82a9715265an,name:"[10]UniformGradientStop",length:10,byteSize:320,align:4,instance:{members:[{...r,type:5,bitSize:256,byteSize:32,structure:iA}]}}),TI(rA,{...A,type:2,flags:26,signature:0xf19f5f8ee9b0ab41n,name:"UniformLinearGradient",byteSize:352,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"dist_start",structure:a},{...r,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"dist_end",structure:a},{...r,type:3,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"stops_count",structure:b},{...r,type:3,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"padding",structure:b},{...r,type:5,flags:1,bitOffset:128,bitSize:64,byteSize:8,slot:4,name:"start",structure:B},{...r,type:5,flags:1,bitOffset:192,bitSize:64,byteSize:8,slot:5,name:"end",structure:B},{...r,type:5,flags:1,bitOffset:256,bitSize:2560,byteSize:320,slot:6,name:"stops",structure:nA}],template:Yn}}),TI(sA,{...A,type:2,flags:26,signature:0xba6e99cdb975c14dn,name:"UniformRadialGradient",byteSize:352,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"dist_start",structure:a},{...r,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"dist_end",structure:a},{...r,type:3,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"stops_count",structure:b},{...r,type:4,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"radius_ratio",structure:a},{...r,type:5,flags:1,bitOffset:128,bitSize:64,byteSize:8,slot:4,name:"center",structure:B},{...r,type:5,flags:1,bitOffset:192,bitSize:64,byteSize:8,slot:5,name:"destination",structure:B},{...r,type:5,flags:1,bitOffset:256,bitSize:2560,byteSize:320,slot:6,name:"stops",structure:nA}],template:Hn}}),TI(aA,{...A,type:6,flags:1,signature:0x6787563e1d5f78a8n,name:"EN0",byteSize:1,align:1,instance:{members:[{...r,type:3,bitOffset:0,bitSize:2,byteSize:1,structure:aA}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"solid",structure:aA},{...r,type:5,flags:4,slot:1,name:"linear",structure:aA},{...r,type:5,flags:4,slot:2,name:"radial",structure:aA}],template:Pn}}),TI(oA,{...A,type:3,flags:58,signature:0x20b352911ff31f6bn,name:"DrawUniform",byteSize:368,align:16,instance:{members:[{...r,type:5,bitOffset:0,bitSize:256,byteSize:32,slot:0,name:"solid",structure:AA},{...r,type:5,bitOffset:0,bitSize:2816,byteSize:352,slot:1,name:"linear",structure:rA},{...r,type:5,bitOffset:0,bitSize:2816,byteSize:352,slot:2,name:"radial",structure:sA},{...r,type:3,flags:8,bitOffset:2816,bitSize:2,byteSize:1,structure:aA}]}}),TI(gA,{...A,type:12,flags:14,signature:0x5e0099122add1a77n,name:"Arg(fn ([]const PointUV, DrawUniform, u32) void)",length:3,byteSize:384,align:16,instance:{members:[{...r,flags:1,bitOffset:3040,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:2944,bitSize:64,byteSize:8,slot:1,name:"0",structure:m},{...r,type:5,flags:1,bitOffset:0,bitSize:2944,byteSize:368,slot:2,name:"1",structure:oA},{...r,type:3,flags:1,bitOffset:3008,bitSize:32,byteSize:4,slot:3,name:"2",structure:b}]}}),TI(IA,{...A,type:14,signature:0x43c5436481c75e6dn,name:"fn ([]const PointUV, DrawUniform, u32) void",length:3,instance:{members:[{...r,type:5,bitSize:3072,byteSize:384,structure:gA}],template:Xn},static:{members:[],template:jn}}),TI(CA,{...A,type:8,flags:204,signature:0x673f1c5641823f18n,name:"*const fn ([]const PointUV, DrawUniform, u32) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:IA}]}}),TI(QA,{...A,type:1,flags:64,signature:0x6d60cb6f613019aan,name:"[4]u32",length:4,byteSize:16,align:4,instance:{members:[{...r,type:3,bitSize:32,byteSize:4,structure:b}]}}),TI(cA,{...A,type:2,flags:26,signature:0x3cad7320ede972e2n,name:"PickVertex",byteSize:32,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:128,byteSize:16,slot:0,name:"point",structure:y},{...r,type:5,flags:1,bitOffset:128,bitSize:128,byteSize:16,slot:1,name:"id",structure:QA}],template:Zn}}),TI(BA,{...A,type:9,flags:10,signature:0xa6fe4858c0857d6dn,name:"[_]PickVertex",byteSize:32,align:4,instance:{members:[{...r,type:5,bitSize:256,byteSize:32,structure:cA}]}}),TI(lA,{...A,type:8,flags:188,signature:0x8b5085e14c0be0d9n,name:"[]const PickVertex",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:BA}]}}),TI(uA,{...A,type:12,flags:14,signature:0x97dc1de2cc30f266n,name:"Arg(fn ([]const PickVertex, u32) void)",length:2,byteSize:12,align:4,instance:{members:[{...r,flags:1,bitOffset:96,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:lA},{...r,type:3,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"1",structure:b}]}}),TI(EA,{...A,type:14,signature:0x1abcbee37e184e77n,name:"fn ([]const PickVertex, u32) void",length:2,instance:{members:[{...r,type:5,bitSize:96,byteSize:12,structure:uA}],template:$n},static:{members:[],template:Ar}}),TI(fA,{...A,type:8,flags:204,signature:0xcde286d73f219d41n,name:"*const fn ([]const PickVertex, u32) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:EA}]}}),TI(hA,{...A,type:2,flags:26,signature:0x1bee0546b01f3c4bn,name:"PickInstance",byteSize:76,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:128,byteSize:16,slot:0,name:"p0",structure:y},{...r,type:5,flags:1,bitOffset:128,bitSize:128,byteSize:16,slot:1,name:"p1",structure:y},{...r,type:5,flags:1,bitOffset:256,bitSize:128,byteSize:16,slot:2,name:"p2",structure:y},{...r,type:5,flags:1,bitOffset:384,bitSize:128,byteSize:16,slot:3,name:"id",structure:QA},{...r,type:5,flags:1,bitOffset:512,bitSize:96,byteSize:12,slot:4,name:"radius",structure:x}],template:er}}),TI(pA,{...A,type:9,flags:10,signature:0x199be0bc5f322739n,name:"[_]PickInstance",byteSize:76,align:4,instance:{members:[{...r,type:5,bitSize:608,byteSize:76,structure:hA}]}}),TI(yA,{...A,type:8,flags:188,signature:0x5188567a77db91can,name:"[]const PickInstance",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:pA}]}}),TI(dA,{...A,type:12,flags:14,signature:0x3c18777eb99f248bn,name:"Arg(fn ([]const PickInstance) void)",length:1,byteSize:8,align:4,instance:{members:[{...r,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:yA}]}}),TI(mA,{...A,type:14,signature:0xabc9dbbca86a3778n,name:"fn ([]const PickInstance) void",length:1,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:dA}],template:tr},static:{members:[],template:ir}}),TI(bA,{...A,type:8,flags:204,signature:0x0c062d7fbc8eefacn,name:"*const fn ([]const PickInstance) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:mA}]}}),TI(DA,{...A,type:2,signature:0xcebaa9e2330cf84cn,name:"PickUniform",byteSize:8,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"dist_start",structure:a},{...r,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"dist_end",structure:a}],template:nr}}),TI(SA,{...A,type:12,flags:14,signature:0x1a483e4175b48f5fn,name:"Arg(fn ([]const PickVertex, PickUniform, u32) void)",length:3,byteSize:20,align:4,instance:{members:[{...r,flags:1,bitOffset:160,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:lA},{...r,type:5,flags:1,bitOffset:64,bitSize:64,byteSize:8,slot:2,name:"1",structure:DA},{...r,type:3,flags:1,bitOffset:128,bitSize:32,byteSize:4,slot:3,name:"2",structure:b}]}}),TI(wA,{...A,type:14,signature:0xd4e43741c641092an,name:"fn ([]const PickVertex, PickUniform, u32) void",length:3,instance:{members:[{...r,type:5,bitSize:160,byteSize:20,structure:SA}],template:rr},static:{members:[],template:sr}}),TI(vA,{...A,type:8,flags:204,signature:0x8af50866e58be998n,name:"*const fn ([]const PickVertex, PickUniform, u32) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:wA}]}}),TI(kA,{...A,type:2,flags:14,signature:0x70ac94780a2323c1n,name:"WebGpuPrograms",byteSize:40,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"draw_texture",structure:w},{...r,type:5,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"draw_triangle",structure:R},{...r,type:5,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"compute_shape",structure:O},{...r,type:5,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"clear_sdf",structure:Y},{...r,type:5,flags:1,bitOffset:128,bitSize:32,byteSize:4,slot:4,name:"combine_sdf",structure:V},{...r,type:5,flags:1,bitOffset:160,bitSize:32,byteSize:4,slot:5,name:"draw_blur",structure:j},{...r,type:5,flags:1,bitOffset:192,bitSize:32,byteSize:4,slot:6,name:"draw_shape",structure:CA},{...r,type:5,flags:1,bitOffset:224,bitSize:32,byteSize:4,slot:7,name:"pick_texture",structure:fA},{...r,type:5,flags:1,bitOffset:256,bitSize:32,byteSize:4,slot:8,name:"pick_triangle",structure:bA},{...r,type:5,flags:1,bitOffset:288,bitSize:32,byteSize:4,slot:9,name:"pick_shape",structure:vA}],template:ar}}),TI(xA,{...A,type:8,flags:204,signature:0x4acb34c3b2746433n,name:"*const WebGpuPrograms",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:kA}]}}),TI(GA,{...A,type:12,flags:14,signature:0x7d3eadcf8af54d67n,name:"Arg(fn (*const WebGpuPrograms) void)",length:1,byteSize:4,align:4,instance:{members:[{...r,flags:1,bitOffset:32,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:xA}]}}),TI(NA,{...A,type:14,signature:0x876f54058f5a8a1dn,name:"fn (*const WebGpuPrograms) void",length:1,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,structure:GA}],template:vr}}),TI(UA,{...A,type:1,flags:10,signature:0x009c896a0d8f3812n,name:"[4]PointUV",length:4,byteSize:64,align:4,instance:{members:[{...r,type:5,bitSize:128,byteSize:16,structure:y}]}}),TI(FA,{...A,flags:1,signature:0x6eddab4b13ff06c5n,name:"bool",byteSize:1,align:1,instance:{members:[{...r,type:1,bitOffset:0,bitSize:1,byteSize:1,structure:FA}]}}),TI(MA,{...A,type:12,flags:10,signature:0x58a13edda65f5ed0n,name:"Arg(fn (Serialized, Serialized) bool)",length:2,byteSize:148,align:4,instance:{members:[{...r,type:1,flags:1,bitOffset:1152,bitSize:1,byteSize:1,slot:0,name:"retval",structure:FA},{...r,type:5,flags:1,bitOffset:0,bitSize:576,byteSize:72,slot:1,name:"0",structure:LA},{...r,type:5,flags:1,bitOffset:576,bitSize:576,byteSize:72,slot:2,name:"1",structure:LA}]}}),TI(RA,{...A,type:14,signature:0x360330571d9497c6n,name:"fn (Serialized, Serialized) bool",length:2,instance:{members:[{...r,type:5,bitSize:1184,byteSize:148,structure:MA}],template:kr}}),TI(LA,{...A,type:2,flags:10,signature:0xb39c5f7dff3b2904n,name:"Serialized",byteSize:72,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:512,byteSize:64,slot:0,name:"bounds",structure:UA},{...r,type:3,flags:1,bitOffset:512,bitSize:32,byteSize:4,slot:1,name:"texture_id",structure:b},{...r,type:3,flags:1,bitOffset:544,bitSize:32,byteSize:4,slot:2,name:"id",structure:b}],template:xr},static:{members:[{...r,type:5,flags:18,slot:0,name:"compare",structure:RA}],template:Gr}}),TI(zA,{...A,type:9,flags:14,signature:0x28f4d67d0bc5a78fn,name:"[_][]const Point",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:z}]}}),TI(JA,{...A,type:8,flags:188,signature:0x7ad3432b0313bcc4n,name:"[]const []const Point",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:zA}]}}),TI(qA,{...A,type:2,flags:26,signature:0x0913e15ff917a229n,name:"GradientStop",byteSize:20,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:128,byteSize:16,slot:0,name:"color",structure:eA},{...r,type:4,flags:1,bitOffset:128,bitSize:32,byteSize:4,slot:1,name:"offset",structure:a}],template:Ur}}),TI(OA,{...A,type:9,flags:10,signature:0x7b432d3e8877b341n,name:"[_]GradientStop",byteSize:20,align:4,instance:{members:[{...r,type:5,bitSize:160,byteSize:20,structure:qA}]}}),TI(KA,{...A,type:8,flags:60,signature:0x5e6d4f4686359ed4n,name:"[]GradientStop",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:OA}]}}),TI(TA,{...A,type:2,flags:14,signature:0xb8e52699e00d4cb2n,name:"SerializedLinearGradient",byteSize:24,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:0,name:"start",structure:B},{...r,type:5,flags:1,bitOffset:64,bitSize:64,byteSize:8,slot:1,name:"end",structure:B},{...r,type:5,flags:1,bitOffset:128,bitSize:64,byteSize:8,slot:2,name:"stops",structure:KA}],template:Fr}}),TI(YA,{...A,type:2,flags:14,signature:0xd33658d326d7d7f1n,name:"SerializedRadialGradient",byteSize:28,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"radius_ratio",structure:a},{...r,type:5,flags:1,bitOffset:32,bitSize:64,byteSize:8,slot:1,name:"center",structure:B},{...r,type:5,flags:1,bitOffset:96,bitSize:64,byteSize:8,slot:2,name:"destination",structure:B},{...r,type:5,flags:1,bitOffset:160,bitSize:64,byteSize:8,slot:3,name:"stops",structure:KA}],template:Rr}}),TI(HA,{...A,type:6,flags:1,signature:0x429513dea7837a43n,name:"EN1",byteSize:1,align:1,instance:{members:[{...r,type:3,bitOffset:0,bitSize:2,byteSize:1,structure:HA}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"linear",structure:HA},{...r,type:5,flags:4,slot:1,name:"radial",structure:HA},{...r,type:5,flags:4,slot:2,name:"solid",structure:HA}],template:zr}}),TI(PA,{...A,type:3,flags:62,signature:0xd93e48683d9c2917n,name:"SerializedFill",byteSize:32,align:4,instance:{members:[{...r,type:5,bitOffset:0,bitSize:192,byteSize:24,slot:0,name:"linear",structure:TA},{...r,type:5,bitOffset:0,bitSize:224,byteSize:28,slot:1,name:"radial",structure:YA},{...r,type:5,bitOffset:0,bitSize:128,byteSize:16,slot:2,name:"solid",structure:eA},{...r,type:3,flags:8,bitOffset:224,bitSize:2,byteSize:1,structure:HA}]}}),TI(_A,{...A,type:2,flags:14,signature:0x724eb4298011305en,name:"SerializedSdfEffect",byteSize:40,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"dist_start",structure:a},{...r,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"dist_end",structure:a},{...r,type:5,flags:1,bitOffset:64,bitSize:256,byteSize:32,slot:2,name:"fill",structure:PA}],template:Kr}}),TI(VA,{...A,type:9,flags:14,signature:0x076e7ae5b86c0f77n,name:"[_]SerializedSdfEffect",byteSize:40,align:4,instance:{members:[{...r,type:5,bitSize:320,byteSize:40,structure:_A}]}}),TI(WA,{...A,type:8,flags:188,signature:0xc6e96a13ca810a21n,name:"[]const SerializedSdfEffect",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:VA}]}}),TI(XA,{...A,type:2,flags:10,signature:0x186189c59a882b0cn,name:"Filter",byteSize:8,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:0,name:"gaussianBlur",structure:B}],template:Vr}}),TI(jA,{...A,type:7,flags:27,signature:0xf6590c3c20e730a9n,name:"?Filter",byteSize:12,align:4,instance:{members:[{...r,type:5,bitOffset:0,bitSize:64,byteSize:8,slot:0,structure:XA},{...r,type:3,flags:8,bitOffset:64,bitSize:8,byteSize:1,structure:v}]}}),TI(ZA,{...A,type:2,flags:4110,signature:0x34250012a56f0f2an,name:"SerializedProps",byteSize:24,align:4,instance:{members:[{...r,type:5,bitOffset:0,bitSize:64,byteSize:8,slot:0,name:"sdf_effects",structure:WA},{...r,type:5,bitOffset:64,bitSize:96,byteSize:12,slot:1,name:"filter",structure:jA},{...r,type:4,bitOffset:160,bitSize:32,byteSize:4,slot:2,name:"opacity",structure:a}],template:Wr}}),TI($A,{...A,type:7,flags:17,signature:0x6a0f688da3728775n,name:"?u32",byteSize:8,align:4,instance:{members:[{...r,type:3,bitOffset:0,bitSize:32,byteSize:4,slot:0,structure:b},{...r,type:3,flags:8,bitOffset:32,bitSize:8,byteSize:1,structure:v}]}}),TI(Ae,{...A,type:12,flags:14,signature:0xddb6d6caa19bbf41n,name:"Arg(fn (Serialized, Serialized) bool)",length:2,byteSize:228,align:4,instance:{members:[{...r,type:1,flags:1,bitOffset:1792,bitSize:1,byteSize:1,slot:0,name:"retval",structure:FA},{...r,type:5,flags:1,bitOffset:0,bitSize:896,byteSize:112,slot:1,name:"0",structure:te},{...r,type:5,flags:1,bitOffset:896,bitSize:896,byteSize:112,slot:2,name:"1",structure:te}]}}),TI(ee,{...A,type:14,signature:0x86a434d5de44aaeen,name:"fn (Serialized, Serialized) bool",length:2,instance:{members:[{...r,type:5,bitSize:1824,byteSize:228,structure:Ae}],template:Zr}}),TI(te,{...A,type:2,flags:14,signature:0x1fd2ad6b7b50b83cn,name:"Serialized",byteSize:112,align:4,instance:{members:[{...r,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"id",structure:b},{...r,type:5,flags:1,bitOffset:32,bitSize:64,byteSize:8,slot:1,name:"paths",structure:JA},{...r,type:5,flags:1,bitOffset:96,bitSize:192,byteSize:24,slot:2,name:"props",structure:ZA},{...r,type:5,flags:1,bitOffset:288,bitSize:512,byteSize:64,slot:3,name:"bounds",structure:UA},{...r,type:3,flags:1,bitOffset:800,bitSize:32,byteSize:4,slot:4,name:"sdf_texture_id",structure:b},{...r,type:5,flags:1,bitOffset:832,bitSize:64,byteSize:8,slot:5,name:"cache_texture_id",structure:$A}],template:$r},static:{members:[{...r,type:5,flags:18,slot:0,name:"compare",structure:ee}],template:is}}),TI(ie,{...A,type:9,flags:224,signature:0x9b3f78f92307ba61n,name:"[_]u8",byteSize:1,align:1,instance:{members:[{...r,type:3,bitSize:8,byteSize:1,structure:v}]}}),TI(ne,{...A,type:8,flags:188,signature:0x7e2f0adf211d515en,name:"[]const u8",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:ie}]}}),TI(re,{...A,flags:17,signature:0xad790f74c7d61933n,name:"usize",byteSize:4,align:4,instance:{members:[{...r,type:3,bitOffset:0,bitSize:32,byteSize:4,structure:re}]}}),TI(se,{...A,type:7,flags:15,signature:0xebf81e7a82becd63n,name:"?[]const u8",byteSize:8,align:4,instance:{members:[{...r,type:5,bitOffset:0,bitSize:64,byteSize:8,slot:0,structure:ne},{...r,type:3,flags:8,bitOffset:0,bitSize:32,byteSize:4,structure:re}]}}),TI(ae,{...A,type:12,flags:14,signature:0xcc11fdc7e0265fafn,name:"Arg(fn (Serialized, Serialized) bool)",length:2,byteSize:212,align:4,instance:{members:[{...r,type:1,flags:1,bitOffset:1664,bitSize:1,byteSize:1,slot:0,name:"retval",structure:FA},{...r,type:5,flags:1,bitOffset:0,bitSize:832,byteSize:104,slot:1,name:"0",structure:ge},{...r,type:5,flags:1,bitOffset:832,bitSize:832,byteSize:104,slot:2,name:"1",structure:ge}]}}),TI(oe,{...A,type:14,signature:0xb932ae3bc2509a83n,name:"fn (Serialized, Serialized) bool",length:2,instance:{members:[{...r,type:5,bitSize:1696,byteSize:212,structure:ae}],template:rs}}),TI(ge,{...A,type:2,flags:14,signature:0x7439e7f6d7c6382bn,name:"Serialized",byteSize:104,align:4,instance:{members:[{...r,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"id",structure:b},{...r,type:5,flags:129,bitOffset:32,bitSize:64,byteSize:8,slot:1,name:"content",structure:se},{...r,type:5,flags:1,bitOffset:96,bitSize:512,byteSize:64,slot:2,name:"bounds",structure:UA},{...r,type:4,flags:1,bitOffset:608,bitSize:32,byteSize:4,slot:3,name:"font_size",structure:a},{...r,type:5,flags:1,bitOffset:640,bitSize:192,byteSize:24,slot:4,name:"props",structure:ZA}],template:ss},static:{members:[{...r,type:5,flags:18,slot:0,name:"compare",structure:oe}],template:Cs}}),TI(Ie,{...A,type:6,flags:1,signature:0x7cf6a3de88cb8656n,name:"EN2",byteSize:1,align:1,instance:{members:[{...r,type:3,bitOffset:0,bitSize:2,byteSize:1,structure:Ie}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"img",structure:Ie},{...r,type:5,flags:4,slot:1,name:"shape",structure:Ie},{...r,type:5,flags:4,slot:2,name:"text",structure:Ie}],template:cs}}),TI(Ce,{...A,type:3,flags:62,signature:0xe208830287208ab8n,name:"AssetSerialized",byteSize:116,align:4,instance:{members:[{...r,type:5,bitOffset:0,bitSize:576,byteSize:72,slot:0,name:"img",structure:LA},{...r,type:5,bitOffset:0,bitSize:896,byteSize:112,slot:1,name:"shape",structure:te},{...r,type:5,bitOffset:0,bitSize:832,byteSize:104,slot:2,name:"text",structure:ge},{...r,type:3,flags:8,bitOffset:896,bitSize:2,byteSize:1,structure:Ie}]}}),TI(Qe,{...A,type:9,flags:14,signature:0x545b35b0e86f5133n,name:"[_]AssetSerialized",byteSize:116,align:4,instance:{members:[{...r,type:5,bitSize:928,byteSize:116,structure:Ce}]}}),TI(ce,{...A,type:8,flags:188,signature:0xdb8c3c7eb33ba569n,name:"[]const AssetSerialized",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:Qe}]}}),TI(Be,{...A,type:12,flags:14,signature:0xa940be404a2efd63n,name:"Arg(fn ([]const AssetSerialized) void)",length:1,byteSize:8,align:4,instance:{members:[{...r,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:ce}]}}),TI(le,{...A,type:14,signature:0x4bb2d228c156e9cen,name:"fn ([]const AssetSerialized) void",length:1,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:Be}],template:Es},static:{members:[],template:fs}}),TI(ue,{...A,type:8,flags:204,signature:0x56efc103ef16a5c2n,name:"*const fn ([]const AssetSerialized) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:le}]}}),TI(Ee,{...A,type:12,flags:14,signature:0x3ae28c4d1bba29fbn,name:"Arg(fn (*const fn ([]const AssetSerialized) void) void)",length:1,byteSize:4,align:4,instance:{members:[{...r,flags:1,bitOffset:32,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:ue}]}}),TI(fe,{...A,type:14,signature:0xc02027e3620bf684n,name:"fn (*const fn ([]const AssetSerialized) void) void",length:1,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,structure:Ee}],template:hs}}),TI(he,{...A,type:12,flags:10,signature:0xeff0bc9c5c749d57n,name:"Arg(fn ([4]u32) void)",length:1,byteSize:16,align:4,instance:{members:[{...r,flags:1,bitOffset:128,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:128,byteSize:16,slot:1,name:"0",structure:QA}]}}),TI(pe,{...A,type:14,signature:0xb1f961dbd50d7202n,name:"fn ([4]u32) void",length:1,instance:{members:[{...r,type:5,bitSize:128,byteSize:16,structure:he}],template:ps},static:{members:[],template:ys}}),TI(ye,{...A,type:8,flags:204,signature:0x0a1ebb9b406dec77n,name:"*const fn ([4]u32) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:pe}]}}),TI(de,{...A,type:12,flags:14,signature:0xe678ce0c736f4e9cn,name:"Arg(fn (*const fn ([4]u32) void) void)",length:1,byteSize:4,align:4,instance:{members:[{...r,flags:1,bitOffset:32,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:ye}]}}),TI(me,{...A,type:14,signature:0xe323dc0b01a1fb73n,name:"fn (*const fn ([4]u32) void) void",length:1,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,structure:de}],template:ds}}),TI(be,{...A,type:12,signature:0xb8221fe5faddda90n,name:"Arg(fn () u32)",length:0,byteSize:4,align:4,instance:{members:[{...r,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"retval",structure:b}]}}),TI(De,{...A,type:14,signature:0xa711f1fddc7220c8n,name:"fn () u32",length:0,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,structure:be}],template:ms},static:{members:[],template:bs}}),TI(Se,{...A,type:8,flags:204,signature:0x95f80fcb924afccen,name:"*const fn () u32",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:De}]}}),TI(we,{...A,type:12,signature:0x0566d9844dbd337dn,name:"Arg(fn (u32, u32) u32)",length:2,byteSize:12,align:4,instance:{members:[{...r,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"retval",structure:b},{...r,type:3,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"0",structure:b},{...r,type:3,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"1",structure:b}]}}),TI(ve,{...A,type:14,signature:0x9f755f6b39d42191n,name:"fn (u32, u32) u32",length:2,instance:{members:[{...r,type:5,bitSize:96,byteSize:12,structure:we}],template:Ds},static:{members:[],template:Ss}}),TI(ke,{...A,type:8,flags:204,signature:0x3903f2f9a3f32669n,name:"*const fn (u32, u32) u32",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:ve}]}}),TI(xe,{...A,type:12,flags:14,signature:0x6374e64b8283db5fn,name:"Arg(fn (*const fn () u32, *const fn (u32, u32) u32) void)",length:2,byteSize:8,align:4,instance:{members:[{...r,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:Se},{...r,type:5,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:2,name:"1",structure:ke}]}}),TI(Ge,{...A,type:14,signature:0xbc13909c33e6aa17n,name:"fn (*const fn () u32, *const fn (u32, u32) u32) void",length:2,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:xe}],template:ws}}),TI(Ne,{...A,flags:1,signature:0xe2acd8c981a459den,name:"u16",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:Ne}]}}),TI(Ue,{...A,type:12,signature:0x3713837871c72c85n,name:"Arg(fn (u16) void)",length:1,byteSize:2,align:2,instance:{members:[{...r,flags:1,bitOffset:16,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:3,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:1,name:"0",structure:Ne}]}}),TI(Fe,{...A,type:14,signature:0xebac9d6609aac3a5n,name:"fn (u16) void",length:1,instance:{members:[{...r,type:5,bitSize:16,byteSize:2,structure:Ue}],template:vs},static:{members:[],template:ks}}),TI(Me,{...A,type:8,flags:204,signature:0x5e5302dca1272845n,name:"*const fn (u16) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:Fe}]}}),TI(Re,{...A,type:12,flags:14,signature:0xa7c561935592105dn,name:"Arg(fn (*const fn (u16) void) void)",length:1,byteSize:4,align:4,instance:{members:[{...r,flags:1,bitOffset:32,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:Me}]}}),TI(Le,{...A,type:14,signature:0x385ffb81ccffe316n,name:"fn (*const fn (u16) void) void",length:1,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,structure:Re}],template:xs}}),TI(ze,{...A,flags:9,signature:0x406b8a99e2cc9d59n,name:"type",align:1,instance:{members:[{...r,type:6,bitOffset:0,bitSize:0,byteSize:0,slot:0,structure:ze}]}}),TI(Je,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES0",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:Je}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:Je}],template:Gs}}),TI(qe,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES0!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:Je}]}}),TI(Oe,{...A,type:8,flags:76,signature:0x91728680875c3974n,name:"*SerializedCharDetails",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:Ye}]}}),TI(Ke,{...A,type:12,flags:46,signature:0xb41ed3eb5bda8946n,name:"Arg(fn (*SerializedCharDetails, []const Point) ES0!void)",length:2,byteSize:16,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:96,bitSize:16,byteSize:2,slot:0,name:"retval",structure:qe},{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:Oe},{...r,type:5,flags:1,bitOffset:32,bitSize:64,byteSize:8,slot:2,name:"1",structure:z}]}}),TI(Te,{...A,type:14,signature:0xf6bba025f3c374f7n,name:"fn (*SerializedCharDetails, []const Point) ES0!void",length:2,instance:{members:[{...r,type:5,bitSize:128,byteSize:16,structure:Ke}],template:Us}}),TI(Ye,{...A,type:2,flags:14,signature:0x3ca17ac5c5c6d21fn,name:"SerializedCharDetails",byteSize:32,align:4,instance:{members:[{...r,type:5,bitOffset:0,bitSize:64,byteSize:8,slot:0,name:"points",structure:z},{...r,type:4,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:1,name:"x",structure:a},{...r,type:4,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:2,name:"y",structure:a},{...r,type:4,flags:1,bitOffset:128,bitSize:32,byteSize:4,slot:3,name:"width",structure:a},{...r,type:4,flags:1,bitOffset:160,bitSize:32,byteSize:4,slot:4,name:"height",structure:a},{...r,type:5,flags:1,bitOffset:192,bitSize:64,byteSize:8,slot:5,name:"sdf_texture_id",structure:$A}],template:Fs},static:{members:[{...r,type:5,flags:18,slot:0,name:"setPaths",structure:Te}],template:Ls}}),TI(He,{...A,type:12,flags:14,signature:0x039639ff5924e894n,name:"Arg(fn ([]const u8) void)",length:1,byteSize:8,align:4,instance:{members:[{...r,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:129,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:ne}]}}),TI(Pe,{...A,type:14,signature:0x1eed8488c4c4587dn,name:"fn ([]const u8) void",length:1,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:He}],template:Js},static:{members:[],template:qs}}),TI(_e,{...A,type:8,flags:204,signature:0xf85cb44f556ad1dbn,name:"*const fn ([]const u8) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:Pe}]}}),TI(Ve,{...A,type:12,signature:0xfa22378c989ae19dn,name:"Arg(fn () void)",length:0,align:1,instance:{members:[{...r,flags:1,bitOffset:0,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s}]}}),TI(We,{...A,type:14,signature:0xe3c3b022a28cd076n,name:"fn () void",length:0,instance:{members:[{...r,type:5,bitSize:0,byteSize:0,structure:Ve}],template:Os},static:{members:[],template:Ks}}),TI(Xe,{...A,type:8,flags:204,signature:0xd7880dadce515974n,name:"*const fn () void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:We}]}}),TI(je,{...A,type:12,signature:0x3f075bf644453a95n,name:"Arg(fn (u32, u32) void)",length:2,byteSize:8,align:4,instance:{members:[{...r,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:b},{...r,type:3,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:2,name:"1",structure:b}]}}),TI(Ze,{...A,type:14,signature:0x4c7e047aa4ecbc8an,name:"fn (u32, u32) void",length:2,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:je}],template:Ts},static:{members:[],template:Ys}}),TI($e,{...A,type:8,flags:204,signature:0xd2046085e5d32a60n,name:"*const fn (u32, u32) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:Ze}]}}),TI(At,{...A,flags:1,signature:0x4769a1856fb7a822n,name:"u21",byteSize:4,align:4,instance:{members:[{...r,type:3,bitOffset:0,bitSize:21,byteSize:4,structure:At}]}}),TI(et,{...A,type:12,flags:14,signature:0xc7036b66cafc0defn,name:"Arg(fn (u32, u21) SerializedCharDetails)",length:2,byteSize:40,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:256,byteSize:32,slot:0,name:"retval",structure:Ye},{...r,type:3,flags:1,bitOffset:256,bitSize:32,byteSize:4,slot:1,name:"0",structure:b},{...r,type:3,flags:1,bitOffset:288,bitSize:21,byteSize:4,slot:2,name:"1",structure:At}]}}),TI(tt,{...A,type:14,signature:0xa3311a6b869c91c8n,name:"fn (u32, u21) SerializedCharDetails",length:2,instance:{members:[{...r,type:5,bitSize:320,byteSize:40,structure:et}],template:Hs},static:{members:[],template:Ps}}),TI(it,{...A,type:8,flags:204,signature:0xa714eeb57ca0b4c3n,name:"*const fn (u32, u21) SerializedCharDetails",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:tt}]}}),TI(nt,{...A,type:12,signature:0xd9143d269aa36b34n,name:"Arg(fn (u21, u21) f32)",length:2,byteSize:12,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"retval",structure:a},{...r,type:3,flags:1,bitOffset:32,bitSize:21,byteSize:4,slot:1,name:"0",structure:At},{...r,type:3,flags:1,bitOffset:64,bitSize:21,byteSize:4,slot:2,name:"1",structure:At}]}}),TI(rt,{...A,type:14,signature:0x88315a5b723b6bc2n,name:"fn (u21, u21) f32",length:2,instance:{members:[{...r,type:5,bitSize:96,byteSize:12,structure:nt}],template:_s},static:{members:[],template:Vs}}),TI(st,{...A,type:8,flags:204,signature:0xe06b7369ba308bfen,name:"*const fn (u21, u21) f32",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:rt}]}}),TI(at,{...A,type:12,flags:14,signature:0x7a2693af970dccb0n,name:"Arg(fn (*const fn ([]const u8) void, *const fn () void, *const fn ([]const u8) void, *const fn (u32, u32) void, *const fn (u32, u21) SerializedCharDetails, *const fn (u21, u21) f32) void)",length:6,byteSize:24,align:4,instance:{members:[{...r,flags:1,bitOffset:192,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:_e},{...r,type:5,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:2,name:"1",structure:Xe},{...r,type:5,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:3,name:"2",structure:_e},{...r,type:5,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:4,name:"3",structure:$e},{...r,type:5,flags:1,bitOffset:128,bitSize:32,byteSize:4,slot:5,name:"4",structure:it},{...r,type:5,flags:1,bitOffset:160,bitSize:32,byteSize:4,slot:6,name:"5",structure:st}]}}),TI(ot,{...A,type:14,signature:0x150db2a684296025n,name:"fn (*const fn ([]const u8) void, *const fn () void, *const fn ([]const u8) void, *const fn (u32, u32) void, *const fn (u32, u21) SerializedCharDetails, *const fn (u21, u21) f32) void",length:6,instance:{members:[{...r,type:5,bitSize:192,byteSize:24,structure:at}],template:Ws}}),TI(gt,{...A,type:2,flags:4096,signature:0x57847e8f0b7a3a1fn,name:"BoundingBox",byteSize:16,align:4,instance:{members:[{...r,type:4,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"min_x",structure:a},{...r,type:4,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"min_y",structure:a},{...r,type:4,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"max_x",structure:a},{...r,type:4,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"max_y",structure:a}],template:Xs}}),TI(It,{...A,type:12,flags:10,signature:0x2ac29501eb9e3e4dn,name:"Arg(fn (u32, BoundingBox, f32, f32) void)",length:4,byteSize:28,align:4,instance:{members:[{...r,flags:1,bitOffset:224,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:b},{...r,type:5,flags:1,bitOffset:32,bitSize:128,byteSize:16,slot:2,name:"1",structure:gt},{...r,type:4,flags:1,bitOffset:160,bitSize:32,byteSize:4,slot:3,name:"2",structure:a},{...r,type:4,flags:1,bitOffset:192,bitSize:32,byteSize:4,slot:4,name:"3",structure:a}]}}),TI(Ct,{...A,type:14,signature:0x84892c9ede5beff4n,name:"fn (u32, BoundingBox, f32, f32) void",length:4,instance:{members:[{...r,type:5,bitSize:224,byteSize:28,structure:It}],template:js},static:{members:[],template:Zs}}),TI(Qt,{...A,type:8,flags:204,signature:0x9d64984c3b5d53can,name:"*const fn (u32, BoundingBox, f32, f32) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:Ct}]}}),TI(ct,{...A,type:12,flags:14,signature:0x1900e8aa46b19079n,name:"Arg(fn (*const fn () u32, *const fn (u32, BoundingBox, f32, f32) void, *const fn () void) void)",length:3,byteSize:12,align:4,instance:{members:[{...r,flags:1,bitOffset:96,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:Se},{...r,type:5,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:2,name:"1",structure:Qt},{...r,type:5,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:3,name:"2",structure:Xe}]}}),TI(Bt,{...A,type:14,signature:0xc940a272a0334ff0n,name:"fn (*const fn () u32, *const fn (u32, BoundingBox, f32, f32) void, *const fn () void) void",length:3,instance:{members:[{...r,type:5,bitSize:96,byteSize:12,structure:ct}],template:$s}}),TI(lt,{...A,type:7,flags:27,signature:0xb2d532eb589d702bn,name:"?[4]PointUV",byteSize:68,align:4,instance:{members:[{...r,type:5,bitOffset:0,bitSize:512,byteSize:64,slot:0,structure:UA},{...r,type:3,flags:8,bitOffset:512,bitSize:8,byteSize:1,structure:v}]}}),TI(ut,{...A,type:7,flags:31,signature:0xb3adc85f376c14a8n,name:"?SerializedProps",byteSize:28,align:4,instance:{members:[{...r,type:5,bitOffset:0,bitSize:192,byteSize:24,slot:0,structure:ZA},{...r,type:3,flags:8,bitOffset:192,bitSize:8,byteSize:1,structure:v}]}}),TI(Et,{...A,type:12,flags:14,signature:0xc0771316cbba6307n,name:"Arg(fn (?[4]PointUV, ?SerializedProps) void)",length:2,byteSize:96,align:4,instance:{members:[{...r,flags:1,bitOffset:768,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:544,byteSize:68,slot:1,name:"0",structure:lt},{...r,type:5,flags:1,bitOffset:544,bitSize:224,byteSize:28,slot:2,name:"1",structure:ut}]}}),TI(ft,{...A,type:14,signature:0xb8577da7b177a0cdn,name:"fn (?[4]PointUV, ?SerializedProps) void",length:2,instance:{members:[{...r,type:5,bitSize:768,byteSize:96,structure:Et}],template:Aa},static:{members:[],template:ea}}),TI(ht,{...A,type:8,flags:204,signature:0x424265d95d4363c9n,name:"*const fn (?[4]PointUV, ?SerializedProps) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:ft}]}}),TI(pt,{...A,type:12,flags:14,signature:0xcd792c1f0a450fbdn,name:"Arg(fn (*const fn (?[4]PointUV, ?SerializedProps) void) void)",length:1,byteSize:4,align:4,instance:{members:[{...r,flags:1,bitOffset:32,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:ht}]}}),TI(yt,{...A,type:14,signature:0x91df2490b3dc5915n,name:"fn (*const fn (?[4]PointUV, ?SerializedProps) void) void",length:1,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,structure:pt}],template:ta}}),TI(dt,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES1",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:dt}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:dt}],template:ia}}),TI(mt,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES1!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:dt}]}}),TI(bt,{...A,type:12,flags:42,signature:0xbd07afc7a8b47040n,name:"Arg(fn (f32, f32, f32, f32) ES1!void)",length:4,byteSize:20,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:128,bitSize:16,byteSize:2,slot:0,name:"retval",structure:mt},{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:a},{...r,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:2,name:"1",structure:a},{...r,type:4,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:3,name:"2",structure:a},{...r,type:4,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:4,name:"3",structure:a}]}}),TI(Dt,{...A,type:14,signature:0xaa034c726f553059n,name:"fn (f32, f32, f32, f32) ES1!void",length:4,instance:{members:[{...r,type:5,bitSize:160,byteSize:20,structure:bt}],template:ra}}),TI(St,{...A,type:5,flags:1,signature:0x3596180da264e267n,name:"ES2",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:St}]}}),TI(wt,{...A,type:4,flags:1,signature:0x5a95f4d8316dada4n,name:"ES2!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:St}]}}),TI(vt,{...A,type:12,flags:42,signature:0xc13dfeea4a886ef9n,name:"Arg(fn (f32) ES2!void)",length:1,byteSize:8,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:32,bitSize:16,byteSize:2,slot:0,name:"retval",structure:wt},{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:a}]}}),TI(kt,{...A,type:14,signature:0x6c203f8ee5c200a7n,name:"fn (f32) ES2!void",length:1,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:vt}],template:sa}}),TI(xt,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES3",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:xt}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:xt}],template:aa}}),TI(Gt,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES3!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:xt}]}}),TI(Nt,{...A,type:12,flags:42,signature:0xe77c9ddd0c1696ddn,name:"Arg(fn (u32, [4]PointUV, u32) ES3!void)",length:3,byteSize:76,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:576,bitSize:16,byteSize:2,slot:0,name:"retval",structure:Gt},{...r,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:b},{...r,type:5,flags:1,bitOffset:32,bitSize:512,byteSize:64,slot:2,name:"1",structure:UA},{...r,type:3,flags:1,bitOffset:544,bitSize:32,byteSize:4,slot:3,name:"2",structure:b}]}}),TI(Ut,{...A,type:14,signature:0xa304643f09351c2an,name:"fn (u32, [4]PointUV, u32) ES3!void",length:3,instance:{members:[{...r,type:5,bitSize:608,byteSize:76,structure:Nt}],template:ga}}),TI(Ft,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES4",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:Ft}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:Ft}],template:Ia}}),TI(Mt,{...A,type:4,flags:1,signature:0x8ab4e53b2545b35cn,name:"ES4!u32",byteSize:8,align:4,instance:{members:[{...r,type:3,bitOffset:0,bitSize:32,byteSize:4,slot:0,structure:b},{...r,type:3,flags:8,bitOffset:32,bitSize:16,byteSize:2,structure:Ft}]}}),TI(Rt,{...A,type:12,flags:46,signature:0x0d11fabcd819012bn,name:"Arg(fn (u32, []const []const Point, ?[4]PointUV, SerializedProps, u32, ?u32) ES4!u32)",length:6,byteSize:124,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:0,name:"retval",structure:Mt},{...r,type:3,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:1,name:"0",structure:b},{...r,type:5,flags:1,bitOffset:96,bitSize:64,byteSize:8,slot:2,name:"1",structure:JA},{...r,type:5,flags:1,bitOffset:160,bitSize:544,byteSize:68,slot:3,name:"2",structure:lt},{...r,type:5,flags:1,bitOffset:704,bitSize:192,byteSize:24,slot:4,name:"3",structure:ZA},{...r,type:3,flags:1,bitOffset:896,bitSize:32,byteSize:4,slot:5,name:"4",structure:b},{...r,type:5,flags:1,bitOffset:928,bitSize:64,byteSize:8,slot:6,name:"5",structure:$A}]}}),TI(Lt,{...A,type:14,signature:0x6e306a6e3427353dn,name:"fn (u32, []const []const Point, ?[4]PointUV, SerializedProps, u32, ?u32) ES4!u32",length:6,instance:{members:[{...r,type:5,bitSize:992,byteSize:124,structure:Rt}],template:Qa}}),TI(zt,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES5",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:zt}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:zt}],template:ca}}),TI(Jt,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES5!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:zt}]}}),TI(qt,{...A,type:12,flags:42,signature:0xd958a5eaf8a8097an,name:"Arg(fn () ES5!void)",length:0,byteSize:2,align:2,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:0,name:"retval",structure:Jt}]}}),TI(Ot,{...A,type:14,signature:0x73c032fe09668bden,name:"fn () ES5!void",length:0,instance:{members:[{...r,type:5,bitSize:16,byteSize:2,structure:qt}],template:la}}),TI(Kt,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES6",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:Kt}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:Kt}],template:ua}}),TI(Tt,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES6!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:Kt}]}}),TI(Yt,{...A,type:12,flags:42,signature:0xd958a5eaf8a8097an,name:"Arg(fn () ES6!void)",length:0,byteSize:2,align:2,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:0,name:"retval",structure:Tt}]}}),TI(Ht,{...A,type:14,signature:0x73c032fe09668bden,name:"fn () ES6!void",length:0,instance:{members:[{...r,type:5,bitSize:16,byteSize:2,structure:Yt}],template:fa}}),TI(Pt,{...A,type:2,flags:14,signature:0x7067aef648c68778n,name:"ComputeTextResult",byteSize:16,align:4,instance:{members:[{...r,type:5,flags:129,bitOffset:0,bitSize:64,byteSize:8,slot:0,name:"content",structure:ne},{...r,type:3,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:1,name:"selection_start",structure:re},{...r,type:3,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:2,name:"selection_end",structure:re}],template:ha}}),TI(_t,{...A,type:5,flags:1,signature:0x8cd77d092cb0bccbn,name:"ES7",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:_t}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"InvalidUtf8",structure:_t},{...r,type:5,flags:4,slot:1,name:"OutOfMemory",structure:_t},{...r,type:5,flags:4,slot:2,name:"Utf8CannotEncodeSurrogateHalf",structure:_t},{...r,type:5,flags:4,slot:3,name:"CodepointTooLarge",structure:_t}],template:ya}}),TI(Vt,{...A,type:4,flags:15,signature:0xa716eccd0723a468n,name:"ES7!ComputeTextResult",byteSize:20,align:4,instance:{members:[{...r,type:5,bitOffset:0,bitSize:128,byteSize:16,slot:0,structure:Pt},{...r,type:3,flags:8,bitOffset:128,bitSize:16,byteSize:2,structure:_t}]}}),TI(Wt,{...A,type:12,flags:46,signature:0x2cc05dd496d3bd1cn,name:"Arg(fn ([]const u8, usize, usize) ES7!ComputeTextResult)",length:3,byteSize:36,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:160,byteSize:20,slot:0,name:"retval",structure:Vt},{...r,type:5,flags:1,bitOffset:160,bitSize:64,byteSize:8,slot:1,name:"0",structure:ne},{...r,type:3,flags:1,bitOffset:224,bitSize:32,byteSize:4,slot:2,name:"1",structure:re},{...r,type:3,flags:1,bitOffset:256,bitSize:32,byteSize:4,slot:3,name:"2",structure:re}]}}),TI(Xt,{...A,type:14,signature:0x7b782f2ea3332570n,name:"fn ([]const u8, usize, usize) ES7!ComputeTextResult",length:3,instance:{members:[{...r,type:5,bitSize:288,byteSize:36,structure:Wt}],template:Sa}}),TI(jt,{...A,type:5,flags:1,signature:0x8cd77d092cb0bccbn,name:"ES8",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:jt}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"InvalidUtf8",structure:jt},{...r,type:5,flags:4,slot:1,name:"OutOfMemory",structure:jt},{...r,type:5,flags:4,slot:2,name:"Utf8CannotEncodeSurrogateHalf",structure:jt},{...r,type:5,flags:4,slot:3,name:"CodepointTooLarge",structure:jt}],template:wa}}),TI(Zt,{...A,type:4,flags:1,signature:0x8895ad6894fa630en,name:"ES8!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:jt}]}}),TI($t,{...A,type:12,flags:42,signature:0xbad36bdad79408a7n,name:"Arg(fn (f32, f32) ES8!void)",length:2,byteSize:12,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:64,bitSize:16,byteSize:2,slot:0,name:"retval",structure:Zt},{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:a},{...r,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:2,name:"1",structure:a}]}}),TI(Ai,{...A,type:14,signature:0xb582869dd359d760n,name:"fn (f32, f32) ES8!void",length:2,instance:{members:[{...r,type:5,bitSize:96,byteSize:12,structure:$t}],template:Na}}),TI(ei,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES9",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:ei}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:ei}],template:Ua}}),TI(ti,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES9!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:ei}]}}),TI(ii,{...A,type:12,flags:42,signature:0xd958a5eaf8a8097an,name:"Arg(fn () ES9!void)",length:0,byteSize:2,align:2,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:0,name:"retval",structure:ti}]}}),TI(ni,{...A,type:14,signature:0x73c032fe09668bden,name:"fn () ES9!void",length:0,instance:{members:[{...r,type:5,bitSize:16,byteSize:2,structure:ii}],template:Ma}}),TI(ri,{...A,type:5,flags:1,signature:0x8cd77d092cb0bccbn,name:"ES10",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:ri}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"InvalidUtf8",structure:ri},{...r,type:5,flags:4,slot:1,name:"OutOfMemory",structure:ri},{...r,type:5,flags:4,slot:2,name:"Utf8CannotEncodeSurrogateHalf",structure:ri},{...r,type:5,flags:4,slot:3,name:"CodepointTooLarge",structure:ri}],template:Ra}}),TI(si,{...A,type:4,flags:1,signature:0x8895ad6894fa630en,name:"ES10!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:ri}]}}),TI(ai,{...A,type:12,flags:42,signature:0xbad36bdad79408a7n,name:"Arg(fn (f32, f32) ES10!void)",length:2,byteSize:12,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:64,bitSize:16,byteSize:2,slot:0,name:"retval",structure:si},{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:a},{...r,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:2,name:"1",structure:a}]}}),TI(oi,{...A,type:14,signature:0xb582869dd359d760n,name:"fn (f32, f32) ES10!void",length:2,instance:{members:[{...r,type:5,bitSize:96,byteSize:12,structure:ai}],template:Oa}}),TI(gi,{...A,type:5,flags:1,signature:0x3596180da264e267n,name:"ES11",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:gi}]}}),TI(Ii,{...A,type:4,flags:1,signature:0x5a95f4d8316dada4n,name:"ES11!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:gi}]}}),TI(Ci,{...A,type:12,flags:42,signature:0xfd5e24a97e2dd1f5n,name:"Arg(fn () ES11!void)",length:0,byteSize:2,align:2,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:0,name:"retval",structure:Ii}]}}),TI(Qi,{...A,type:14,signature:0xf4f49e751fc2421an,name:"fn () ES11!void",length:0,instance:{members:[{...r,type:5,bitSize:16,byteSize:2,structure:Ci}],template:Ka}}),TI(ci,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES12",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:ci}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:ci}],template:Ta}}),TI(Bi,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES12!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:ci}]}}),TI(li,{...A,type:12,flags:42,signature:0xd958a5eaf8a8097an,name:"Arg(fn () ES12!void)",length:0,byteSize:2,align:2,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:0,name:"retval",structure:Bi}]}}),TI(ui,{...A,type:14,signature:0x73c032fe09668bden,name:"fn () ES12!void",length:0,instance:{members:[{...r,type:5,bitSize:16,byteSize:2,structure:li}],template:Ha}}),TI(Ei,{...A,type:5,flags:1,signature:0x3596180da264e267n,name:"ES13",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:Ei}]}}),TI(fi,{...A,type:4,flags:1,signature:0x5a95f4d8316dada4n,name:"ES13!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:Ei}]}}),TI(hi,{...A,type:12,flags:42,signature:0xfd5e24a97e2dd1f5n,name:"Arg(fn () ES13!void)",length:0,byteSize:2,align:2,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:0,name:"retval",structure:fi}]}}),TI(pi,{...A,type:14,signature:0xf4f49e751fc2421an,name:"fn () ES13!void",length:0,instance:{members:[{...r,type:5,bitSize:16,byteSize:2,structure:hi}],template:Pa}}),TI(yi,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES14",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:yi}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:yi}],template:_a}}),TI(di,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES14!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:yi}]}}),TI(mi,{...A,type:12,flags:42,signature:0xd958a5eaf8a8097an,name:"Arg(fn () ES14!void)",length:0,byteSize:2,align:2,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:0,name:"retval",structure:di}]}}),TI(bi,{...A,type:14,signature:0x73c032fe09668bden,name:"fn () ES14!void",length:0,instance:{members:[{...r,type:5,bitSize:16,byteSize:2,structure:mi}],template:Wa}}),TI(Di,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES15",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:Di}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:Di}],template:Xa}}),TI(Si,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES15!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:Di}]}}),TI(wi,{...A,type:12,flags:42,signature:0xd958a5eaf8a8097an,name:"Arg(fn () ES15!void)",length:0,byteSize:2,align:2,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:0,name:"retval",structure:Si}]}}),TI(vi,{...A,type:14,signature:0x73c032fe09668bden,name:"fn () ES15!void",length:0,instance:{members:[{...r,type:5,bitSize:16,byteSize:2,structure:wi}],template:Za}}),TI(ki,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES16",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:ki}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:ki}],template:$a}}),TI(xi,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES16!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:ki}]}}),TI(Gi,{...A,type:12,flags:42,signature:0xd958a5eaf8a8097an,name:"Arg(fn () ES16!void)",length:0,byteSize:2,align:2,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:0,name:"retval",structure:xi}]}}),TI(Ni,{...A,type:14,signature:0x73c032fe09668bden,name:"fn () ES16!void",length:0,instance:{members:[{...r,type:5,bitSize:16,byteSize:2,structure:Gi}],template:eo}}),TI(Ui,{...A,type:5,flags:1,signature:0x8cd77d092cb0bccbn,name:"ES17",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:Ui}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"InvalidUtf8",structure:Ui},{...r,type:5,flags:4,slot:1,name:"OutOfMemory",structure:Ui},{...r,type:5,flags:4,slot:2,name:"Utf8CannotEncodeSurrogateHalf",structure:Ui},{...r,type:5,flags:4,slot:3,name:"CodepointTooLarge",structure:Ui}],template:to}}),TI(Fi,{...A,type:4,flags:1,signature:0x8895ad6894fa630en,name:"ES17!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:Ui}]}}),TI(Mi,{...A,type:12,flags:46,signature:0xfe307dcdab6dd63dn,name:"Arg(fn ([]const AssetSerialized, bool) ES17!void)",length:2,byteSize:12,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:64,bitSize:16,byteSize:2,slot:0,name:"retval",structure:Fi},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:ce},{...r,type:1,flags:1,bitOffset:80,bitSize:1,byteSize:1,slot:2,name:"1",structure:FA}]}}),TI(Ri,{...A,type:14,signature:0x869e066e00717902n,name:"fn ([]const AssetSerialized, bool) ES17!void",length:2,instance:{members:[{...r,type:5,bitSize:96,byteSize:12,structure:Mi}],template:ao}}),TI(Li,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES18",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:Li}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:Li}],template:oo}}),TI(zi,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES18!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:Li}]}}),TI(Ji,{...A,type:12,flags:46,signature:0xbe3f066ab03562acn,name:"Arg(fn (u32, []const []const Point, u32) ES18!void)",length:3,byteSize:20,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:128,bitSize:16,byteSize:2,slot:0,name:"retval",structure:zi},{...r,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:b},{...r,type:5,flags:1,bitOffset:32,bitSize:64,byteSize:8,slot:2,name:"1",structure:JA},{...r,type:3,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"2",structure:b}]}}),TI(qi,{...A,type:14,signature:0x61ed6595fa447245n,name:"fn (u32, []const []const Point, u32) ES18!void",length:3,instance:{members:[{...r,type:5,bitSize:160,byteSize:20,structure:Ji}],template:Io}}),TI(Oi,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES19",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:Oi}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:Oi}],template:Co}}),TI(Ki,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES19!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:Oi}]}}),TI(Ti,{...A,type:12,flags:42,signature:0xd958a5eaf8a8097an,name:"Arg(fn () ES19!void)",length:0,byteSize:2,align:2,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:0,name:"retval",structure:Ki}]}}),TI(Yi,{...A,type:14,signature:0x73c032fe09668bden,name:"fn () ES19!void",length:0,instance:{members:[{...r,type:5,bitSize:16,byteSize:2,structure:Ti}],template:co}}),TI(Hi,{...A,type:5,flags:1,signature:0x3596180da264e267n,name:"ES20",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:Hi}]}}),TI(Pi,{...A,type:4,flags:1,signature:0x5a95f4d8316dada4n,name:"ES20!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:Hi}]}}),TI(_i,{...A,type:6,flags:1,signature:0x9ebf0e3a55069528n,name:"Tool",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:_i}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"None",structure:_i},{...r,type:5,flags:4,slot:1,name:"DrawShape",structure:_i},{...r,type:5,flags:4,slot:2,name:"EditShape",structure:_i},{...r,type:5,flags:4,slot:3,name:"Text",structure:_i}],template:Bo}}),TI(Vi,{...A,type:12,flags:42,signature:0x3a529a2ba490f572n,name:"Arg(fn (Tool) ES20!void)",length:1,byteSize:4,align:2,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:0,name:"retval",structure:Pi},{...r,type:3,flags:1,bitOffset:16,bitSize:16,byteSize:2,slot:1,name:"0",structure:_i}]}}),TI(Wi,{...A,type:14,signature:0x9309965d6da7152fn,name:"fn (Tool) ES20!void",length:1,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,structure:Vi}],template:ho}}),TI(Xi,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES21",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:Xi}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:Xi}],template:po}}),TI(ji,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES21!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:Xi}]}}),TI(Zi,{...A,type:12,flags:42,signature:0x5bb01020d75668f5n,name:"Arg(fn (f32) ES21!void)",length:1,byteSize:8,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:32,bitSize:16,byteSize:2,slot:0,name:"retval",structure:ji},{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:a}]}}),TI($i,{...A,type:14,signature:0x13f401b042d16a6cn,name:"fn (f32) ES21!void",length:1,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:Zi}],template:mo}}),TI(An,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES22",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:An}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:An}],template:bo}}),TI(en,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES22!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:An}]}}),TI(tn,{...A,type:12,flags:46,signature:0xdcc0a09c72fdaa47n,name:"Arg(fn (SerializedProps) ES22!void)",length:1,byteSize:28,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:192,bitSize:16,byteSize:2,slot:0,name:"retval",structure:en},{...r,type:5,flags:1,bitOffset:0,bitSize:192,byteSize:24,slot:1,name:"0",structure:ZA}]}}),TI(nn,{...A,type:14,signature:0xadaf31fb68a837abn,name:"fn (SerializedProps) ES22!void",length:1,instance:{members:[{...r,type:5,bitSize:224,byteSize:28,structure:tn}],template:So}}),TI(rn,{...A,type:5,flags:1,signature:0x8cd77d092cb0bccbn,name:"ES23",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:rn}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"InvalidUtf8",structure:rn},{...r,type:5,flags:4,slot:1,name:"OutOfMemory",structure:rn},{...r,type:5,flags:4,slot:2,name:"Utf8CannotEncodeSurrogateHalf",structure:rn},{...r,type:5,flags:4,slot:3,name:"CodepointTooLarge",structure:rn}],template:wo}}),TI(sn,{...A,type:4,flags:1,signature:0x8895ad6894fa630en,name:"ES23!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:rn}]}}),TI(an,{...A,type:12,flags:42,signature:0x179a80c1ce9c51f4n,name:"Arg(fn ([4]PointUV) ES23!void)",length:1,byteSize:68,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:512,bitSize:16,byteSize:2,slot:0,name:"retval",structure:sn},{...r,type:5,flags:1,bitOffset:0,bitSize:512,byteSize:64,slot:1,name:"0",structure:UA}]}}),TI(on,{...A,type:14,signature:0xb54f99f684e1a0f6n,name:"fn ([4]PointUV) ES23!void",length:1,instance:{members:[{...r,type:5,bitSize:544,byteSize:68,structure:an}],template:No}}),TI(gn,{...A,type:2,flags:4096,signature:0x239ab4f327f6ac1bn,name:"index",align:1,static:{members:[{...r,type:5,flags:2,slot:0,name:"connectWebGpuPrograms",structure:NA},{...r,type:5,flags:2,slot:1,name:"connectOnAssetUpdateCallback",structure:fe},{...r,type:5,flags:2,slot:2,name:"connectOnAssetSelectionCallback",structure:me},{...r,type:5,flags:2,slot:3,name:"connectCreateSdfTexture",structure:Ge},{...r,type:5,flags:2,slot:4,name:"onUpdateToolCallback",structure:Le},{...r,type:5,flags:2,slot:5,name:"SerializedCharDetails",structure:ze},{...r,type:5,flags:2,slot:6,name:"TextCallback",structure:ze},{...r,type:5,flags:2,slot:7,name:"connectTyping",structure:ot},{...r,type:5,flags:2,slot:9,name:"connectCacheCallbacks",structure:Bt},{...r,type:5,flags:2,slot:10,name:"connectSelectedAssetUpdates",structure:yt},{...r,type:5,flags:2,slot:11,name:"ASSET_ID_MIN",structure:b},{...r,type:5,flags:2,slot:12,name:"initState",structure:Dt},{...r,type:5,flags:2,slot:13,name:"updateRenderScale",structure:kt},{...r,type:5,flags:2,slot:14,name:"addImage",structure:Ut},{...r,type:5,flags:2,slot:15,name:"addShape",structure:Lt},{...r,type:5,flags:2,slot:16,name:"removeAsset",structure:Ot},{...r,type:5,flags:2,slot:17,name:"onUpdatePick",structure:pe},{...r,type:5,flags:2,slot:18,name:"addShapeBegin",structure:We},{...r,type:5,flags:2,slot:19,name:"addShapeFinish",structure:Ht},{...r,type:5,flags:2,slot:20,name:"updateTextContent",structure:Xt},{...r,type:5,flags:2,slot:21,name:"onPointerDown",structure:Ai},{...r,type:5,flags:2,slot:22,name:"onPointerUp",structure:ni},{...r,type:5,flags:2,slot:23,name:"onPointerMove",structure:oi},{...r,type:5,flags:2,slot:24,name:"onPointerDoubleClick",structure:Qi},{...r,type:5,flags:2,slot:25,name:"onPointerLeave",structure:ui},{...r,type:5,flags:2,slot:26,name:"commitChanges",structure:pi},{...r,type:5,flags:2,slot:27,name:"computeSdfs",structure:bi},{...r,type:5,flags:2,slot:28,name:"updateCache",structure:We},{...r,type:5,flags:2,slot:29,name:"setCaretPosition",structure:Ze},{...r,type:5,flags:2,slot:30,name:"renderDraw",structure:vi},{...r,type:5,flags:2,slot:31,name:"renderPick",structure:Ni},{...r,type:5,flags:2,slot:32,name:"resetAssets",structure:Ri},{...r,type:5,flags:2,slot:33,name:"deinitState",structure:We},{...r,type:5,flags:2,slot:34,name:"importUiElement",structure:qi},{...r,type:5,flags:2,slot:35,name:"generateUiElementsSdf",structure:Yi},{...r,type:5,flags:2,slot:36,name:"setTool",structure:Wi},{...r,type:5,flags:2,slot:37,name:"tick",structure:$i},{...r,type:5,flags:2,slot:38,name:"setSelectedAssetProps",structure:nn},{...r,type:5,flags:2,slot:39,name:"setSelectedAssetBounds",structure:on},{...r,type:5,flags:2,slot:40,name:"toggleSharedTextEffects",structure:We}],template:Uo}});const YI=[s,a,o,g,I,C,Q,c,B,l,u,E,f,h,p,y,d,m,b,D,S,w,v,k,x,G,N,U,F,M,R,L,z,J,q,O,K,T,Y,H,P,_,V,W,X,j,Z,$,AA,eA,tA,iA,nA,rA,sA,aA,oA,gA,IA,CA,QA,cA,BA,lA,uA,EA,fA,hA,pA,yA,dA,mA,bA,DA,SA,wA,vA,kA,xA,GA,NA,UA,FA,MA,RA,LA,zA,JA,qA,OA,KA,TA,YA,HA,PA,_A,VA,WA,XA,jA,ZA,$A,Ae,ee,te,ie,ne,re,se,ae,oe,ge,Ie,Ce,Qe,ce,Be,le,ue,Ee,fe,he,pe,ye,de,me,be,De,Se,we,ve,ke,xe,Ge,Ne,Ue,Fe,Me,Re,Le,ze,Je,qe,Oe,Ke,Te,Ye,He,Pe,_e,Ve,We,Xe,je,Ze,$e,At,et,tt,it,nt,rt,st,at,ot,gt,It,Ct,Qt,ct,Bt,lt,ut,Et,ft,ht,pt,yt,dt,mt,bt,Dt,St,wt,vt,kt,xt,Gt,Nt,Ut,Ft,Mt,Rt,Lt,zt,Jt,qt,Ot,Kt,Tt,Yt,Ht,Pt,_t,Vt,Wt,Xt,jt,Zt,$t,Ai,ei,ti,ii,ni,ri,si,ai,oi,gi,Ii,Ci,Qi,ci,Bi,li,ui,Ei,fi,hi,pi,yi,di,mi,bi,Di,Si,wi,vi,ki,xi,Gi,Ni,Ui,Fi,Mi,Ri,Li,zi,Ji,qi,Oi,Ki,Ti,Yi,Hi,Pi,_i,Vi,Wi,Xi,ji,Zi,$i,An,en,tn,nn,rn,sn,an,on,gn],HI=gn,PI={runtimeSafety:!1,littleEndian:!0,libc:!1},_I=(0,n.M)();_I.recreateStructures(YI,PI);const VI=(async()=>{const A=atob("AGFzbQEAAAAB/wI2YAZ/f39/f38Bf2AFf39/f38AYAJ/fwBgBH9/f38Bf2AAAGABfwBgA39/fwBgAn9/AX1gAAF/YAJ/fwF/YAR/f39/AGAEf399fQBgBn9/f399fQBgBn9/f39/fwBgBH19fX0Bf2ABfQF/YAN/f38Bf2AIf39/f39/f38AYAJ9fQF/YAF/AX9gAX8BfWAEf39+fwBgA39/fQBgBX9/fX1/AGAJf39/f39/f39/AGAHf39/f399fwBgBX99fX19AGADf319AGACfX0BfWAFf319fX8AYAV9fX19fQF9YAR/f399AGAGf39/fX99AGAFf39/fX0AYAh/f319fX19fwBgBH9/fX8AYAF9AX1gAn1/AX9gA39/fwF9YAN+f38BfmACfn8Bf2ABfgF/YAd/f39/fX1/AGAFf39/f38Bf2AEf35+fwBgBX9+fn5+AGAGf35+fn5/AGAEfn5+fwF+YAJ9fwF9YAJ/fABgAnx/AXxgAXwBf2ABfAF9YAN8fHwBfAKmAQcDZW52Bm1lbW9yeQIABQNlbnYZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQFwAOIDA2Vudg1fZGlzcGxheVBhbmljAAIWd2FzaV9zbmFwc2hvdF9wcmV2aWV3MQhmZF93cml0ZQADA2Vudg1faGFuZGxlSnNDYWxsAAMDZW52EF9hbGxvY2F0ZUpzVGh1bmsACQNlbnYMX2ZyZWVKc1RodW5rAAkDrgWsBQQIEAoGDhMCDwcWBQIXBwIJEwIGAgYTBgIJAgEGBhMJCQkFBgYBBgkBBgYJEBAGBgYGGAkJBhEICAIIBQgFDQ0NCAIJEAYTCgYCBgIGAQYGBgEGBgkJBwYBCAoZAgkGAgIGEgIIEgIaGxwTCAgKBh0eCAUGAhwfARABBgYgIQoiAggCIwYGAwYfBgsCFiIQAgEGBggBEAQGAxMIDxMTBQYGFCQFBQIFDQYFBAoQJRMTBAUEBhAAAAEEIwMEBQQJCQoJCQoJCQoJCgkKCQoJCQoJCQoJCQkJCQkKCQoJCQkKCQkJCQkKEwkGCQoCBgICAgICAgICAgICAgICAgUCBQUFBQUFBQUFBQUFBQUFBAUEBAQEBAQEBAQEBAQEBAQCBgICAgICAgICAgICAgICAhAJCgoJCgkKCQoJCgkKCgoJCgkJCQkJCQIGAgIC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IAFBKPwKAABBACEFCyACQSBqJAAgBQuIAgMBfwF+An8jAEEwayICJAAgAiABKQIMIgM3AxAgAkEIaiACQRBqIAEoAgAgASgCCCABKAIEECACQAJAIAIoAggiBEUNACACKAIMIQUgASADNwIMIAFBADYCCCABQqrVqtUKNwIAIABBADsBCCAAIAQ2AgAgACAFNgIEDAELIAJBHGogAkEQaiABKAIEECECQCACLwEkIgRFDQAgACAEOwEIDAELIAIoAhwhBAJAIAIoAiAiBUUNACAEIAEoAgAgBUEobPwKAAALIAIgASkCDDcDKCACQShqIAEoAgAgASgCCBAiIAFCADcCBCAAIAU2AgQgACAENgIAIABBADsBCAsgAkEwaiQAC8ABAgF/An4jAEEQayIFJAAgBSABKQIAIgY3AwACQAJAIAQNACAFIAIgAxAiQQAhAQwBCwJAIANFDQBBACEBIAUgBK1CKH4iB0IgiKciBEEARzoADCAEDQACQCAGpyACIANBKGxBAiAHpyIEQQAgBkIgiKcoAggRAAAiAg0AQQAhAgwCCwJAIAQNAEEAIQFBqtWq1XohAgwCCyAEQShuIQEMAQtBACECQQAhAQsgACACNgIAIAAgATYCBCAFQRBqJAALtAECAX8BfiMAQTBrIgMkACADIAEpAgA3AxggAyACrUIofiIEQiCIpyIBQQBHOgAsAkACQAJAAkAgAUUNAEEIIQEMAQsgA0EgaiADQRhqIASnEDMgAykDICIEQiCIpyIBQf//A3FFDQELIAMgATsBCCADIQIMAQsgAyACNgIQIAMgBD4CDCADQQA7ARQgA0EMaiECCyAAIAIpAgA3AgAgAEEIaiACQQhqKAIANgIAIANBMGokAAs4AgF/AX4CQCACQShsIgNFDQAgACkCACIEpyABQarVqtV6IAIbIANBAkEAIARCIIinKAIMEQEACwumEQwDfwF+Fn8BfQF/AX4BfwF9A38CfQF+AX8jAEGwCWsiASQAQQAhAgJAQQAoAsDXECIDRQ0AIAFBADYCLCABQqrVqtUKNwIkIAFBACkDuL8QIgQ3AjBBACgCuNYQQQAoAsDWECIFQQJ0akGq1arVeiAFGyEGIAFBOGpBDGohByABQdQCakEkaiEIIAFB1AJqQQxqIQkgAUHoAWohCiABQawBakEYaiELIAFB+AhqQQxqIQwgAUHIAmohDSABQawBakH8AGohDiABQawBakHQAGohDyABQawBakEQaiEQIAFB8ARqIREgAUGYBGpBDGohEiABQcgDakEMaiETIAFB+AhqQQhqIRQgAUHACGpBCGohFUEAKAK81hAhFkEAIQUDQAJAAkACQAJAIAUgFkYNACAFQQFqIRcgBiAFQawBbGoiGEH8AGohGSAYQRBqIRogGCoClAEhGyAYKAJ4IRwgGCgCdCEFIBgpAkghHSAYKAJEIR4gGCoCDCEfIBgoAgghICAYKAIEISEgGCgCACEiIBgtAKgBQQNxDgMDAgEDC0EAKAKA1xAhFSABKAIkIR4CQCABKAIoIhpBACgCxNcQIiJHDQAgFSEFIB4hGSAaIRgCQANAIBhFDQEgAUGMBWogGUH0APwKAAACQAJAAkACQCAFQfAAai0AAEEDcQ4DAAECAAsgAUGABmogBUHIAPwKAAAgAUGABmogAUGMBWoQJEEBcQ0CDAULIAFByAZqIAVB8AD8CgAAIAFByAZqIAFBjAVqECVBAXFFDQQMAQsgAUG4B2ogBUHoAPwKAAAgAUG4B2ogAUGMBWoQJkEBcUUNAwsgBUH0AGohBSAZQfQAaiEZIBhBf2ohGAwACwsgAUEkahAnIAEgASkCMDcDwAggAUHACGogASgCJCABKAIsEChBACECDAULQbi/ECAVICIQKSABIAEpAjA3A/gIIAFBCGogAUH4CGogHiABKAIsIBoQKgJAAkAgASgCCCIYRQ0AIAEoAgwhBQwBCyABQcAIaiABQfgIaiAaECsgAS8ByAgiAg0FIAEoAsAIIRgCQCABKALECCIFRQ0AIBggHiAFQfQAbPwKAAALIAFBJGoQJwtBACECQQAgGDYCgNcQQQAgBTYCxNcQIABBAXFFDQQCQCAFRQ0AIBggBSADEQIADAULQQAhAkGq1arVekEAIAMRAgAMBAsgAUHkA2ogGkE0/AoAACABQcgDakEQaiAZQRBqKQIANwMAIAFByANqQQhqIBlBCGopAgA3AwAgASAZKQIANwPIAyABIAQ3ArgIIAFBADYCtAggAUKq1arVCjcCrAggHEEBaiEYAkADQCAYQX9qIhhFDQEgBUEEaioCACEjIAUqAgAhJCAVIAVBCGpBLPwKAAAgASAjOALECCABICQ4AsAIIBQgFRAdIAEgIzgC/AggASAkOAL4CCAFQTRqIQUgAUGsCGogAUH4CGoQHiICQf//A3FFDQAMBQsLIAFBoAlqIAFBrAhqEB8gAS8BqAkiAg0DIAEpAqAJISUgEiABQeQDakE0/AoAACARQQhqIBNBCGooAgA2AgAgESATKQIANwIAIAFBAjoAiAUgASAbOAL8BCABICU3AugEIAEgHzgC5AQgASAdNwLcBCABIB42AtgEIAEgIDYCoAQgASAhNgKcBCABICI2ApgEIBchBSABQSRqIAFBmARqECwiAkH//wNxRQ0CDAMLIAEgHzgCuAEgASAgNgK0ASABICE2ArABIAEgIjYCrAEgGCgCmAEhIiAQIBpBNPwKAAAgASAdNwL0ASABIB42AvABIA8gGEHQAGpBJPwKAAAgDiAZKQIANwIAIA5BCGogGUEIaikCADcCACAOQRBqIBlBEGopAgA3AgAgDSAYKQKcATcCACANQQhqIBhBpAFqKAIANgIAIAEgHDYCpAIgASAFNgKgAiABICI2AsQCIAEgGzgCwAIgASAENwKECUEAIRogAUEANgKACSABQqrVqtUKNwL4CANAAkACQAJAIBogIEYNACAhIBpBGGxqIgUoAgQhIiAFKAIAIRwgASgCgAkiHiEFAkAgHiABKAL8CCIZTQ0AIAEoAvgIIRgMAwsDQEF/IAVBAXYgBWpBCGoiGCAYIAVJGyIFIBlNDQALIAFBGGogDCABKAL4CCImIB4gBRAtAkAgASgCGCIYRQ0AIAEoAhwhBQwCCyABQawIaiAMIAUQLiABLwG0CCICDQYgASgCsAghBSABKAKsCCEYAkAgGUUNACAYICYgGUEDdPwKAAALIAwgJiAeEC8MAQsgASgCrAEhGSABIAEpAoQJIh03A6AIIAFBEGogAUGgCGogASgC+AgiGiABKAKACSIeIAEoAvwIIhgQLQJAAkAgASgCECIFRQ0AIAEoAhQhGAwBCyABQawIaiABQaAIaiAYEC4gAS8BtAgiAg0GIAEoAqwIIQUCQCABKAKwCCIYRQ0AIAUgGiAYQQN0/AoAAAsgASAdNwOgCSABQaAJaiAaIB4QLwsgAUHACGpBuL8QIAsQHCABLwHYCCICDQUgCSABKQLACDcCACAJQQhqIBUpAgA3AgAgCUEQaiABQcAIakEQaikCADcCACABKAKsAiEaIAEpArQCIR0gCCAKQcAA/AoAACABQQE6AMQDIAEgHTcCvAMgASAaNgK4AyABIBg2AtwCIAEgBTYC2AIgASAZNgLUAiAXIQUgAUEkaiABQdQCahAsIgJB//8DcUUNBAwFCyABIBg2AvgIIAEgBTYCgAkLIAEgGUEBajYC/AggGCAZQQN0aiIFICI2AgQgBSAcNgIAIBpBAWohGgwACwsgByAaQTT8CgAAIAFBADoAqAEgASAiNgJ8IAEgHjYCeCABIB84AkAgASAgNgI8IAEgITYCOCAXIQUgAUEkaiABQThqECwiAkH//wNxRQ0ACwsgAUGwCWokACACCy8BAX9BACECAkAgACgCRCABKAJERw0AIAAoAkAgASgCQEcNACAAIAEQMCECCyACC4YCAQR/QQAhAgJAIAAoAgAgASgCAEcNACAAKAIIIgMgASgCCEcNACAAKAIMIAEoAgxHDQAgACgCECABKAIQRw0AIAEtABwhBAJAAkAgAC0AHCIFRQ0AIARB/wFxRQ0AIAAqAhQgASoCFFwNAiAAKgIYIAEqAhhbDQEMAgsgBSAEckH/AXENAQsgACoCICABKgIgXA0AIABBJGogAUEkahAwQQFxRQ0AIANBAWohAyABKAIEIQEgACgCBCEAA0AgA0F/aiIDRSECIANFDQEgAEEEaigCACABQQRqKAIARw0BIAEoAgAhBCAAKAIAIQUgAUEIaiEBIABBCGohACAFIARGDQALCyACC8oDAQd/IwBBEGsiAiQAQQAhAwJAIAAoAgAgASgCAEcNACAAKgJMIAEqAkxcDQAgAEEMaiABQQxqEDBBAXFFDQACQCAAKAIIQQAgACgCBCIAGyIEIAEoAghBACABKAIEIgEbIgVHDQBBASEDIARFDQEgAEGq1arVeiAAGyIAQarVqtV6IAQbIgYgAUGq1arVeiAFGyIHRg0BAkAgBEEQSw0AAkAgBEEETw0AIAAtAAAgBy0AAEYgACAEQX9qIgFqLQAAIAcgAWotAABGcSAAIARBAXYiAWotAAAgByABai0AAEZxIQMMAwtBACEBIAJBADYCACACIARBfGoiADYCBCACIARBAXZBDHEiAzYCCCACIAAgA2s2AgxBACEAAkADQCABQRBGDQEgByACIAFqKAIAIgNqKAAAIAYgA2ooAABzIAByIQAgAUEEaiEBDAALCyAARSEDDAILIARBf2pBAnZBAWohAyAGIQEgByEAAkADQCADQX9qIgNFDQEgACgAACEFIAEoAAAhCCABQQRqIQEgAEEEaiEAIAggBUcNAgwACwsgBiAEQXxqIgFqKAAAIAcgAWooAABGIQMMAQtBACEDCyACQRBqJAAgAws2AQF/IwBBEGsiASQAIAEgACkCDDcDCCABQQhqIAAoAgAgACgCCBAoIABCADcCBCABQRBqJAALOQIBfwF+AkAgAkH0AGwiA0UNACAAKQIAIgSnIAFBqtWq1XogAhsgA0ECQQAgBEIgiKcoAgwRAQALCzkCAX8BfgJAIAJB9ABsIgNFDQAgACkCACIEpyABQarVqtV6IAIbIANBAkEAIARCIIinKAIMEQEACwvDAQIBfwJ+IwBBEGsiBSQAIAUgASkCACIGNwMAAkACQCAEDQAgBSACIAMQKEEAIQEMAQsCQCADRQ0AQQAhASAFIAStQvQAfiIHQiCIpyIEQQBHOgAMIAQNAAJAIAanIAIgA0H0AGxBAiAHpyIEQQAgBkIgiKcoAggRAAAiAg0AQQAhAgwCCwJAIAQNAEEAIQFBqtWq1XohAgwCCyAEQfQAbiEBDAELQQAhAkEAIQELIAAgAjYCACAAIAE2AgQgBUEQaiQAC7UBAgF/AX4jAEEwayIDJAAgAyABKQIANwMYIAMgAq1C9AB+IgRCIIinIgFBAEc6ACwCQAJAAkACQCABRQ0AQQghAQwBCyADQSBqIANBGGogBKcQMyADKQMgIgRCIIinIgFB//8DcUUNAQsgAyABOwEIIAMhAgwBCyADIAI2AhAgAyAEPgIMIANBADsBFCADQQxqIQILIAAgAikCADcCACAAQQhqIAJBCGooAgA2AgAgA0EwaiQAC40CAQd/IwBBIGsiAiQAAkACQAJAAkAgACgCCCIDIAAoAgQiBEsNACADIQUDQEF/IAVBAXYgBWpBAWoiBiAGIAVJGyIFIARNDQALIAJBCGogAEEMaiIEIAAoAgAiByADIAUQKgJAIAIoAggiBkUNACACKAIMIQUMAgsgAkEUaiAEIAUQKyACLwEcIgUNAyACKAIYIQUgAigCFCEGAkAgACgCBCIIRQ0AIAYgACgCACAIQfQAbPwKAAALIAQgByADECgMAQsgACgCACEGDAELIAAgBjYCACAAIAU2AgggACgCBCEECyAAIARBAWo2AgQgBiAEQfQAbGogAUH0APwKAABBACEFCyACQSBqJAAgBQvCAQIBfwF+IwBBEGsiBSQAIAUgASkCACIGNwMAAkACQCAEDQAgBSACIAMQL0EAIQEMAQsCQCADRQ0AIAUgBEH/////AUs6AAwgBEGAgICAAk8NAEEAIQECQCAGpyACIANBA3RBAiAEQQN0IgNBACAGQiCIpygCCBEAACICDQBBACECDAILIAJBqtWq1XogAxshAiAEQf////8BcUEAIAMbIQEMAQtBACECQQAhAQsgACACNgIAIAAgATYCBCAFQRBqJAALhQEBAX8jAEEwayIDJAAgAyABKQIANwMIIANBEGogA0EIaiACEAkCQAJAIAMvARQiAUUNACADIAE7ASAgA0EYaiECDAELIANBADsBLCADIAI2AiggAyADKAIQNgIkIANBJGohAgsgACACKQIANwIAIABBCGogAkEIaigCADYCACADQTBqJAALOAIBfwF+AkAgAkEDdCIDRQ0AIAApAgAiBKcgAUGq1arVeiACGyADQQJBACAEQiCIpygCDBEBAAsLaAEEf0EAIQICQANAIAIiA0EERg0BIAAqAgAgASoCAJOLQ28SgzpdRQ0BIAFBBGohBCAAQQRqIQUgAUEQaiEBIABBEGohACADQQFqIQIgBSoCACAEKgIAk4tDbxKDOl0NAAsLIANBA0sLcQEBfyMAQbABayIDJAACQCAADQBBAEEAKAKE1xAiAEEBajYChNcQCyADQQhqIAFBwAD8CgAAIANBADoArAEgAyACNgJIIAMgADYCBAJAIAAgA0EEahAVIgBB//8DcQ0AQQEQIyEACyADQbABaiQAIAALzgMCCH8BfiMAQSBrIgMkACADIAAoAgQiBCACaiIFIARJIgY6ABAgAyAGOgAIAkACQCAFIARJDQACQCAAKAIIIgcgBU8NACAHIQQDQEF/IARBAXYgBGpBA2oiBiAGIARJGyIEIAVJDQALIAAoAgAhCAJAAkACQCAHRQ0AIAAoAhAhCSAAKAIMIQpBACEGIAMgBK1CFH4iC0IgiKciBUEARzoAECAFDQAgCiAIIAdBFGxBAiALpyIFQQAgCSgCCBEAACIJRQ0BAkAgBQ0AQQAhBUGq1arVeiEGDAMLIAVBFG4hBSAJIQYMAgtBACEGC0EAIQULAkACQCAGRQ0AIAAgBjYCACAFIQQMAQsgAyAAQQxqIgUpAgA3AwggAyAErUIUfiILQiCIpyIGQQBHOgAcIAYNAiADQRBqIANBCGogC6cQMyADKQMQIgtCIIinIgZB//8DcQ0DIAunIQYCQCAAKAIEIglFDQAgBiAAKAIAIAlBFGz8CgAACyAFIAggBxA0IAAgBjYCAAsgACAENgIICyAAIAAoAgQiBCACajYCBEEAIQYgAkUNASAAKAIAIARBFGxqIAEgAkEUbPwKAAAMAQtBCCEGCyADQSBqJAAgBgtTAQF+AkAgAg0AIABC/P///w83AgAPCwJAIAEpAgAiA6cgAkECQQAgA0IgiKcoAgARAwAiAg0AIABCgICAgIABNwIADwsgACACNgIAIABBADsBBAs4AgF/AX4CQCACQRRsIgNFDQAgACkCACIEpyABQarVqtV6IAIbIANBAkEAIARCIIinKAIMEQEACwuvCgUHfwJ9AX8Cfgt/IwBBwAFrIgMkACADQQA2AgwgA0Kq1arVCjcCBCADIAEpAgA3AhAgA0GUAWohBCACKAIEIQUgAigCACEGIANBBGpBDGohB0EAIQgCQAJAA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgCCAFRg0AIAYgCEEobGoiCSoCBCEKIAkqAgAhCyAJKAIIIQwCQCAJLQAkDgMCAAQCCyADQQA2ArABIANCqtWq1Qo3AqgBIAMgASkCADcCtAEgCSkCFCENIAkpAgwhDiADQagBaiAJKAIcIAkoAiAQMiIJQf//A3ENAiADKAKsAUELTw0EIANBGGpBCGogA0GoAWpBCGopAgA3AwAgA0EYakEQaiADQagBakEQaigCADYCACADIA03AzggAyAONwMwIANBAToAvAEgAyADKQKoATcDGCADQbwBaiEJDAYLIANB6ABqQRBqIgkgA0EEakEQaigCADYCACADQYQBaiACQRBqKAIANgIAIABBADsBJCAAIAMpAgQiDTcCACADQegAakEIaiADQQRqQQhqKQIAIg43AwAgAEEIaiAONwIAIAMgAikCCDcCfCAAQRBqIAkpAwA3AgAgAEEYaiADQegAakEYaikDADcCACADIA03A2ggACACKgIUOAIgDA0LIANBADYCmAEgA0Kq1arVCjcCkAEgAyABKQIANwKcASAJKQIQIQ0gCSgCDCEPIANBkAFqIAkoAhgg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QRhqIAJBAnQQMyADKQMgIgRCIIinIgFB//8DcUUNAQsgAyABOwEIIAMhAgwBCyADIAI2AhAgAyAEPgIMIANBADsBFCADQQxqIQILIAAgAikCADcCACAAQQhqIAJBCGooAgA2AgAgA0EwaiQACzgCAX8BfgJAIAJBAnQiA0UNACAAKQIAIgSnIAFBqtWq1XogAhsgA0ECQQAgBEIgiKcoAgwRAQALC44DAQJ/IwBBEGsiAyQAAkACQCABQf///wBxIgRB/wBLDQBBACgCuJ8QIQQMAQsCQCAEQf8PSw0AQQAoAryfECEEDAELAkAgAUH///8AcSIEQf//A0sNAEEAKALAnxAhBAwBC0EAKALEnxBBCiAEQYCAxABJGyEECwJAAkAgBEH//wNxRQ0ADAELAkACQAJAAkACQAJAIARBEHYiBEEHcUF/ag4EAAECAwALIAIgAToAAAwECyACIAFBP3FBgAFyOgABIAIgAUEGdkHAAXI6AAAMAwsgAUGA8P8AcUGAsANHDQFBCSEEQQAhAQwDCyACIAFBP3FBgAFyOgADIAIgAUEGdkE/cUGAAXI6AAIgAiABQQx2QT9xQYABcjoAASACIAFBgIDwAHFBEnZB8AFyOgAADAELIAIgAUE/cUGAAXI6AAIgAiABQQx2QeABcjoAACACIAFBBnZBP3FBgAFyOgABCyADIARBB3EiAToADkEAIQQLIABBADoAAyAAIAE6AAIgACAEOwEAIANBEGokAAuUAQMBfwF+AX8jAEEQayIFJAAgBSABKQIAIgY3AwACQAJAIAQNACAFIAIgAxBYQQAhByACIQEMAQtBACEBAkACQCADRQ0AQQAhB0EADQJBACEBIAanIAIgA0EAIARBACAGQiCIpygCCBEAACIDDQELQQAhBwwBCyADIQEgBCEHCyAAIAE2AgAgACAHNgIEIAVBEGokAAuGAQEBfyMAQTBrIgMkACADIAEpAgA3AwggA0EQaiADQQhqIAIQuAECQAJAIAMvARQiAUUNACADIAE7ASAgA0EYaiECDAELIANBADsBLCADIAI2AiggAyADKAIQNgIkIANBJGohAgsgACACKQIANwIAIABBCGogAkEIaigCADYCACADQTBqJAALKAEBfgJAIAJFDQAgACkCACIDpyABIAJBAEEAIANCIIinKAIMEQEACwucAgEHfyMA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IgINAUEAKAKs2BAhAiABQewFaiABQbQEakEQakHAAPwKAAAgAUGwBmpBCGogAUHQBWpBCGopAgA3AwAgAUGwBmpBEGogAUHQBWpBEGopAgA3AwAgAUEBOgCsBiABQQE6AMgGIAEgASkC0AU3A7AGIAFB7AVqIAFBsAZqIAIRAgAMBAsgAUGQAmogBEGoAfwKAAAgAUG4A2ogAUHEAWogAUGoAmoQHCABLwHQAyICRQ0CCyABQbABahB3DAQLQZSYEEHYmBBBACgCrNgQEQIADAILQQAoAqzYECECIAFB1ANqIAFBzAJqQcAA/AoAACABQZgEakEIaiABQbgDakEIaikCADcDACABQZgEakEQaiABQbgDakEQaikCADcDACABQQE6AJQEIAFBAToAsAQgASABKQK4AzcDmAQgAUHUA2ogAUGYBGogAhECAAsgAUGwAWoQdwtBACECQQBCADcDsNgQCyABQdAGaiQAIAIL+QEBBH8jAEHQAGsiASQAAkACQBA/IgJFDQACQAJAAkACQCACLQCoAQ4DBAEABAsgAUEoakG4vxAgABA1IAEvAUwiA0UNAQwECyABQbi/ECAAEDUgAS8BJCIDDQMgAkEYaiABQST8CgAAIAItAIwBIQQCQCAALQAQDQBBpAEhAyAEQf8BcUUNAiACQgA3AogBDAILQaQBIQMgBEH/AXENAUEAKAL81xARCAAhACACQQE6AIwBIAIgADYCiAEMAQsgAkH0AGogAUEoakEk/AoAAEGYASEDIAItAGxFDQELIAIgA2pBAToAAAtBARAjIQMLIAFB0ABqJAAgAwu0AQECfyMAQSBrIgEkAAJAAkAQPyICRQ0AAkACQAJAIAItAKgBDgMAAQIACyACQQRqIABBwAD8CgAADAILIAJBPGogAEHAAPwKAAAgAkEBOgClAQwBCyACQRBqIABBwAD8CgAAIAFBDGogAkEAKALM1xBBACgC0NcQEEwgAS8BHCICDQFBAC8B+NYQQQNHDQAgASgCDCABKAIQQQAoAoDYEBECAAtBARAjIQILIAFBIGokACACCwsAQQAgADYCiNgQCy4AIAAgASoCBCACKgIEkkMAAAA/lDgCBCAAIAEqAgAgAioCAJJDAAAAP5Q4AgALIgAgACABKgIEIAIqAgSTOAIEIAAgASoCACACKgIAkzgCAAsOACAAKgIA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AwsCQCACQZTbEGooAgANACACQZTbEGogAzYCACAEQQA7AQQgBCACQaSlEGooAgA2AgAgBCECDAMLIAJBBGohAgwACwtBQCECA0ACQCACDQBB0LAQIQIMAgsCQCACQaSlEGooAgAgA0cNACACQZTbEGoiAigCACEDIAJBADYCACAEQQA7AQwgBCADNgIIIARBCGohAgwCCyACQQRqIQIMAAsLIAAgAikCADcCACAEQRBqJAALDgAgASgCACAAEQUAQQALGAAgASABKAIEIAEoAgggABEJADYCAEEAC9sBAQF/IwBBEGsiBCQAAkACQCACDQBBQCECA0ACQCACDQBByLAQIQIMAwsCQCACQZTcEGooAgANACACQZTcEGogAzYCACAEQQA7AQQgBCACQaSmEGooAgA2AgAgBCECDAMLIAJBBGohAgwACwtBQCECA0ACQCACDQBB0LAQIQIMAgsCQCACQaSmEGooAgAgA0cNACACQZTcEGoiAigCACEDIAJBADYCACAEQQA7AQwgBCADNgIIIARBCGohAgwCCyACQQRqIQIMAAsLIAAgAikCADcCACAEQRBqJAALEwAgASgCACABKAIEIAARAgBBAAsOACABLwEAIAARBQBBAAvbAQEBfyMAQRBrIgQkAAJAAkAgAg0AQUAhAgNAAkAgAg0AQciwECECDAMLAkAgAkHU3BBqKAIADQAgAkHU3BBqIAM2AgAgBEEAOwEEIAQgAkHkphBqKAIANgIAIAQhAgwDCyACQQRqIQIMAAsLQUAhAgNAAkAgAg0AQdCwECECDAILAkAgAkHkphBqKAIAIANHDQAgAkHU3BBqIgIoAgAhAyACQQA2AgAgBEEAOwEMIAQgAzYCCCAEQQhqIQIMAgsgAkEEaiECDAALCyAAIAIpAgA3AgAgBEEQaiQACxMAIAEoAgAgASgCBCAAEQIAQQAL2wEBAX8jAEEQayIEJAACQAJAIAINAEFAIQIDQAJAIAINAEHIsBAhAgwDCwJAIAJBjNkQaigCAA0AIAJBjNkQaiADNgIAIARBADsBBCAEIAJBtKAQaigCADYCACAEIQIMAwsgAkEEaiECDAALC0FAIQIDQAJAIAINAEHQsBAhAgwCCwJAIAJBtKAQaigCACADRw0AIAJBjNkQaiICKAIAIQMgAkEANgIAIARBADsBDCAEIAM2AgggBEEIaiECDAILIAJBBGohAgwACwsgACACKQIANwIAIARBEGokAAttAQF/IwBBIGsiAiQAIAIgASgCICABLwEkIAFBJmotAABBEHRyIAARBgAgAUEYaiACQRhqKQIANwIAIAFBEGogAkEQaikCADcCACABQQhqIAJBCGopAgA3AgAgASACKQIANwIAIAJBIGokAEEAC9sBAQF/IwBBEGsiBCQAAkACQCACDQBBQCECA0ACQCACDQBByLAQIQIMAwsCQCACQZjdEGooAgANACACQZjdEGogAzYCACAEQQA7AQQgBCACQaSnEGooAgA2AgAgBCECDAMLIAJBBGohAgwACwtBQCECA0ACQCACDQBB0LAQIQIMAgsCQCACQaSnEGooAgAgA0cNACACQZjdEGoiAigCACEDIAJBADYCACAEQQA7AQwgBCADNgIIIARBCGohAgwCCyACQQRqIQIMAAsLIAAgAikCADcCACAEQRBqJAALMAAgASABLwEEIAFBBmotAABBEHRyIAEvAQggAUEKai0AAEEQdHIgABEHADgCAEEAC9sBAQF/IwBBEGsiBCQAAkACQCACDQBBQCECA0ACQCACDQBByLAQIQIMAwsCQCACQdjdEGooAgANACACQdjdEGogAzYCACAEQQA7AQQgBCACQeSnEGooAgA2AgAgBCECDAMLIAJBBGohAgwACwtBQCECA0ACQCACDQBB0LAQIQIMAgsCQCACQeSnEGooAgAgA0cNACACQdjdEGoiAigCACEDIAJBADYCACAEQQA7AQwgBCADNgIIIARBCGohAgwCCyACQQRqIQIMAAsLIAAgAikCADcCACAEQRBqJAALJwAgASgCACABKAIEIAEoAgggASgCDCABKAIQIAEoAhQgABENAEEAC2kCAn8CfSMAQSBrIgIkACACQQRqQQxqIAFBDGopAgA3AgAgAiABKAIAIgM2AgQgAiABKQIENwIIIAIgASoCFCIEOAIYIAIgASoCGCIFOAIcIAMgAkEIaiAEIAUgABELACACQSBqJABBAAvbAQEBfyMAQRBrIgQkAAJAAkAgAg0AQUAhAgNAAkAgAg0AQciwECECDAMLAkAgAkGY3hBqKAIADQAgAkGY3hBqIAM2AgAgBEEAOwEEIAQgAkGkqBBqKAIANgIAIAQhAgwDCyACQQRqIQIMAAsLQUAhAgNAAkAgAg0AQdCwECECDAILAkAgAkGkqBBqKAIAIANHDQAgAkGY3hBqIgIoAgAhAyACQQA2AgAgBEEAOwEMIAQgAzYCCCAEQQhqIQIMAgsgAkEEaiECDAALCyAAIAIpAgA3AgAgBEEQaiQACxgAIAEoAgAgASgCBCABKAIIIAARBgBBAAtwAQF/IwBB4ABrIgIkACACIAFBxAD8CgAAIAJB3ABqIAFB3ABqKAIANgIAIAJB1ABqIAFB1ABqKQIANwIAIAJBzABqIAFBzABqKQIANwIAIAIgASkCRDcCRCACIAJBxABqIAARAgAgAkHgAGokAEEAC9sBAQF/IwBBEGsiBCQAAkACQCACDQBBQCECA0ACQCACDQBByLAQIQIMAwsCQCACQdjeEGooAgANACACQdjeEGogAzYCACAEQQA7AQQgBCACQeSoEGooAgA2AgAgBCECDAMLIAJBBGohAgwACwtBQCECA0ACQCACDQBB0LAQIQIMAgsCQCACQeSoEGooAgAgA0cNACACQdjeEGoiAigCACEDIAJBADYCACAEQQA7AQwgBCADNgIIIARBCGohAgwCCyACQQRqIQIMAAsLIAAgAikCADcCACAEQRBqJAALIgAgASABKgIAIAEqAgQgASoCCCABKgIMIAARDgA7ARBBAAsTACABIAEqAgAgABEPADsBBEEAC1YBBH8jAEHQAGsiAiQAIAIgASgCACIDNgIIIAJBCGpBBGoiBCABQQRqQcAA/AoAACACIAEoAkQiBTYCTCABIAMgBCAFIAAREAA7AUggAkHQAGokAEEAC8EBAQZ/IwBBgAFrIgIkACACIAEoAggiAzYCBCACIAEoAhAiBDYCDCACIAEoAgwiBTYCCCACQRBqIgYgAUEUakHEAPwKAAAgAkEEakHgAGogAUHoAGopAgA3AgAgAkHcAGogAUHgAGopAgA3AgAgAiABKQJYNwJUIAIgASgCcCIHNgJsIAIgASkCdDcCcCACQfgAaiADIAUgBCAGIAJB1ABqIAcgAkHwAGogABERACABIAIpA3g3AgAgAkGAAWokAEEACw4AIAEgABEIADsBAEEACzcBAX8jAEEQayICJAAgAkEIaiABQQhqKQIANwMAIAIgASkCADcDACACIAARBQAgAkEQaiQAQQAL2wEBAX8jAEEQayIEJAACQAJAIAINAEFAIQIDQAJAIAINAEHIsBAhAgwDCwJAIAJBzNkQaigCAA0AIAJBzNkQaiADNgIAIARBADsBBCAEIAJB9KAQaigCADYCACAEIQIMAwsgAkEEaiECDAALC0FAIQIDQAJAIAINAEHQsBAhAgwCCwJAIAJB9KAQaigCACADRw0AIAJBzNkQaiICKAIAIQMgAkEANgIAIARBADsBDCAEIAM2AgggBEEIaiECDAILIAJBBGohAgwACwsgACACKQIANwIAIARBEGokAAsJACAAEQQAQQAL2wEBAX8jAEEQayIEJAACQAJAIAINAEFAIQIDQAJAIAINAEHIsBAhAgwDCwJAIAJBjNoQaigCAA0AIAJBjNoQaiADNgIAIARBADsBBCAEIAJBtKEQaigCADYCACAEIQIMAwsgAkEEaiECDAALC0FAIQIDQAJAIAINAEHQsBAhAgwCCwJAIAJBtKEQaigCACADRw0AIAJBjNoQaiICKAIAIQMgAkEANgIAIARBADsBDCAEIAM2AgggBEEIaiECDAILIAJBBGohAgwACwsgACACKQIANwIAIARBEGokAAtkAQF/IwBBIGsiAiQAIAJBDGogASgCFCABKAIYIAEoAhwgASgCICAAEQEAIAFBEGogAkEMakEQaigCADYCACABQQhqIAJBDGpBCGopAgA3AgAgASACKQIMNwIAIAJBIGokAEEACxgAIAEgASoCACABKgIEIAAREgA7AQhBAAsTACABKAIAIAEoAgQgABECAEEAC9sBAQF/IwBBEGsiBCQAAkACQCACDQBBQCECA0ACQCACDQBByLAQIQIMAwsCQCACQczaEGooAgANACACQczaEGogAzYCACAEQQA7AQQgBCACQfShEGooAgA2AgAgBCECDAMLIAJBBGohAgwACwtBQCECA0ACQCACDQBB0LAQIQIMAgsCQCACQfShEGooAgAgA0cNACACQczaEGoiAigCACEDIAJBADYCACAEQQA7AQwgBCADNgIIIARBCGohAgwCCyACQQRqIQIMAAsLIAAgAikCADcCACAEQRBqJAALHQAgASABKAIAIAEoAgQgAS0ACiAAERAAOwEIQQALIgAgASABKAIAIAEoAgQgASgCCCABKAIMIAARAwA7ARBBAAsTACABIAEvAQIgABETADsBAEEAC1UBAX8jAEEgayICJAAgAkEIakEQaiABQRBqKQIANwMAIAJBCGpBCGogAUEIaikCADcDACACIAEpAgA3AwggASACQQhqIAAREwA7ARggAkEgaiQAQQALLwEBfyMAQcAAayICJAAgAiABQcAA/AoAACABIAIgABETADsBQCACQcAAaiQAQQALiwICAX8BfiMAQRBrIgQkAAJAAkAgAw0AQgAhBQwBCyABKAIAIQEgBCADNgIIIAQgAjYCBAJAAkACQAJAAkACQAJAAkAgASAEQQRqQQEgBEEMahABQf//A3EiA0Ftag4EAQcHAgALAkAgA0FBag4CBgUACyADQcwARg0FAkAgA0EIRw0AQoCAgIDABSEFDAgLIANBHUYNAiADQTNGDQMgAw0GIAQ1AgwhBQwHC0KAgICAsAQhBQwGC0KAgICAwAQhBQwFC0KAgICA0AQhBQwEC0KAgICA8AAhBQwDC0KAgICAkAUhBQwCC0KAgICAgAUhBQwBC0KAgICAoAYhBQsgACAFNwIAIARBEGokAAslAEECQQNBACAAQf8BcSIAQRFJGyAAQQlJG0ECdEGAwBBqKAIACx0AIAEgASgCACABKAIEIAEoAgggABEQADsBDEEAC5wBAgF/AX4jAEEwayIDJAAgAyABKQIANwMYAkACQAJAAkBBAQ0AQQghAQwBCyADQSBqIANBGGogAhAzIAMpAyAiBEIgiKciAUH//wNxRQ0BCyADIAE7AQggAyEBDAELIAMgAjYCECADIAQ+AgwgA0EAOwEUIANBDGohAQsgACABKQIANwIAIABBCGogAUEIaigCADYCACADQTBqJAALDgAgASAAEQgANgIAQQAL2wEBAX8jAEEQayIEJAACQAJAIAINAEFAIQIDQAJAIAINAEHIsBAhAgwDCwJAIAJB1NsQaigCAA0AIAJB1NsQaiADNgIAIARBADsBBCAEIAJB5KUQaigCADYCACAEIQIMAwsgAkEEaiECDAALC0FAIQIDQAJAIAINAEHQsBAhAgwCCwJAIAJB5KUQaigCACADRw0AIAJB1NsQaiICKAIAIQMgAkEANgIAIARBADsBDCAEIAM2AgggBEEIaiECDAILIAJBBGohAgwACwsgACACKQIANwIAIARBEGokAAsQACAAIAFBACgCzNgQEPEBC10BAX8jAEEQayIDJAAgAyABNgIMIAMgADYCCAJAAkACQAJAIAIgA0EIakEIELQCDgQAAwECAAsgA0EQaiQADwtB+JEQQSIQEQALQd2REEEaEBEAC0HCkRBBGhARAAsQACAAIAFBACgC0NgQEPEBCxAAIAAgAUEAKALU2BAQ8QELEAAgACABQQAoAtjYEBDxAQsQACAAIAFBACgC3NgQEPEBCxAAIAAgAUEAKALg2BAQ8QELEAAgACABQQAoAuTYEBDxAQsQACAAIAFBACgC6NgQEPEBCxAAIAAgAUEAKALs2BAQ8QELEAAgACABQQAoAvDYEBDxAQsQACAAIAFBACgC9NgQEPEBCxAAIAAgAUEAKAL42BAQ8QELEAAgACABQQAoAvzYEBDxAQsQACAAIAFBACgCgNkQEPEBCxAAIAAgAUEAKAKE2RAQ8QELEAAgACABQQAoAojZEBDxAQtQAQF/IwBBIGsiASQAIAFBCGpBCGogAEEIaikCADcDACABIAApAgA3AwggAUEANgIYIAFBACgCjNkQIgA2AhwgAUEIaiAAEIICIAFBIGokAAtmAQF/IwBBEGsiAiQAIAJBCGogAEEIaikCADcDACACIAApAgA3AwACQAJAAkACQCABIAJBEBC0Ag4EAAMBAgALIAJBEGokAA8LQfiREEEiEBEAC0HdkRBBGhARAAtBwpEQQRoQEQALUAEBfyMAQSBrIgEkACABQQhqQQhqIABBCGopAgA3AwAgASAAKQIANwMIIAFBADYCGCABQQAoApDZECIANgIcIAFBCGogABCCAiABQSBqJAALUAEBfyMAQSBrIgEkACABQQhqQQhqIABBCGopAgA3AwAgASAAKQIANwMIIAFBADYCGCABQQAoApTZECIANgIcIAFBCGogABCCAiABQSBqJAALUAEBfyMAQSBrIgEkACABQQhqQQhqIABBCGopAgA3AwAgASAAKQIANwMIIAFBADYCGCABQQAoApjZECIANgIcIAFBCGogABCCAiABQSBqJAALUAEBfyMAQSBrIgEkACABQQhqQQhqIABBCGopAgA3AwAgASAAKQIANwMIIAFBADYCGCABQQAoApzZECIANgIcIAFBCGogABCCAiABQSBqJAALUAEBfyMAQSBrIgEkACABQQhqQQhqIABBCGopAgA3AwAgASAAKQIANwMIIAFBADYCGCABQQAoAqDZECIANgIcIAFBCGogABCCAiABQSBqJAALUAEBfyMAQSBrIgEkACABQQhqQQhqIABBCGopAgA3AwAgASAAKQIANwMIIAFBADYCGCABQQAoAqTZECIANgIcIAFBCGogABCCAiABQSBqJAALUAEBfyMAQSBrIgEkACABQQhqQQhqIABBCGopAgA3AwAgASAAKQIANwMIIAFBADYCGCABQQAoAqjZECIANgIcIAFBCGogABCCAiABQSBqJAALUAEBfyMAQSBrIgEkACABQQhqQQhqIABBCGopAgA3AwAgASAAKQIANwMIIAFBADYCGCABQQAoAqzZECIANgIcIAFBCGogABCCAiABQSBqJAALUAEBfyMAQSBrIgEkACABQQhqQQhqIABBCGopAgA3AwAgASAAKQIANwMIIAFBADYCGCABQQAoArDZECIANgIcIAFBCGogABCCAiABQSBqJAALUAEBfyMAQSBrIgEkACABQQhqQQhqIABBCGopAgA3AwAgASAAKQIANwMIIAFBADYCGCABQQAoArTZECIANgIcIAFBCGogABCCAiABQSBqJAALUAEBfyMAQSBrIgEkACABQQhqQQhqIABBCGopAgA3AwAgASAAKQIANwMIIAFBADYCGCABQQAoArjZECIANgIcIAFBCGogABCCAiABQSBqJAALUAEBfyMAQSBrIgEkACABQQhqQQhqIABBCGopAgA3AwAgASAAKQIANwMIIAFBADYCGCABQQAoArzZECIANgIcIAFBCGogABCCAiABQSBqJAALUAEBfyMAQSBrIgEkACABQQhqQQhqIABBCGopAgA3AwAgASAAKQIANwMIIAFBADYCGCABQQAoAsDZECIANgIcIAFBCGogABCCAiABQSBqJAALUAEBfyMAQSBrIgEkACABQQhqQQhqIABBCGopAgA3AwAgASAAKQIANwMIIAFBADYCGCABQQAoAsTZECIANgIcIAFBCGogABCCAiABQSBqJAALUAEBfyMAQSBrIgEkACABQQhqQQhqIABBCGopAgA3AwAgASAAKQIANwMIIAFBADYCGCABQQAoAsjZECIANgIcIAFBCGogABCCAiABQSBqJAALDABBACgCzNkQEJMCCz4AAkACQAJAAkAgAEGq1arVekEAELQCDgQAAwECAAsPC0H4kRBBIhARAAtB3ZEQQRoQEQALQcKREEEaEBEACwwAQQAoAtDZEBCTAgsMAEEAKALU2RAQkwILDABBACgC2NkQEJMCCwwAQQAoAtzZEBCTAgsMAEEAKALg2RAQkwILDABBACgC5NkQEJMCCwwAQQAoAujZEBCTAgsMAEEAKALs2RAQkwILDABBACgC8NkQEJMCCwwAQQAoAvTZEBCTAgsMAEEAKAL42RAQkwILDABBACgC/NkQEJMCCwwAQQAoAoDaEBCTAgsMAEEAKAKE2hAQkwILDABBACgCiNoQEJMCCxAAIAAgAUEAKAKM2hAQpAILXQEBfyMAQRBrIgMkACADIAE2AgwgAyAANgIIAkACQAJAAkAgAiADQQhqQQgQtAIOBAADAQIACyADQRBqJAAPC0H4kRBBIhARAAtB3ZEQQRoQEQALQcKREEEaEBEACxAAIAAgAUEAKAKQ2hAQpAILEAAgACABQQAoApTaEBCkAgsQACAAIAFBACgCmNoQEKQCCxAAIAAgAUEAKAKc2hAQpAILEAAgACABQQAoAqDaEBCkAgsQACAAIAFBACgCpNoQEKQCCxAAIAAgAUEAKAKo2hAQpAILEAAgACABQQAoAqzaEBCkAgsQACAAIAFBACgCsNoQEKQCCxAAIAAgAUEAKAK02hAQpAILEAAgACABQQAoArjaEBCkAgsQACAAIAFBACgCvNoQEKQCCxAAIAAgAUEAKALA2hAQpAILEAAgACABQQAoAsTaEBCkAgsQACAAIAFBACgCyNoQEKQCC0oBAn8jAEEQayIDJABBACEEAkBBAC0A1NwQDQAgA0F/NgIIIAMgA0EIajYCDCADQQhqIQQLIAAgASACIAQQAiEEIANBEGokACAECxgAIAEoAgAgASgCBCABKAIIIAARBgBBAAvbAQEBfyMAQRBrIgQkAAJAAkAgAg0AQUAhAgNAAkAgAg0AQciwECECDAMLAkAgAkGY3xBqKAIADQAgAkGY3xBqIAM2AgAgBEEAOwEEIAQgAkGIrBBqKAIANgIAIAQhAgwDCyACQQRqIQIMAAsLQUAhAgNAAkAgAg0AQdCwECECDAILAkAgAkGIrBBqKAIAIANHDQAgAkGY3xBqIgIoAgAhAyACQQA2AgAgBEEAOwEMIAQgAzYCCCAEQQhqIQIMAgsgAkEEaiECDAALCyAAIAIpAgA3AgAgBEEQaiQAC9sBAQF/IwBBEGsiBCQAAkACQCACDQBBQCECA0ACQCACDQBByLAQIQIMAwsCQCACQdjfEGooAgANACACQdjfEGogAzYCACAEQQA7AQQgBCACQcisEGooAgA2AgAgBCECDAMLIAJBBGohAgwACwtBQCECA0ACQCACDQBB0LAQIQIMAgsCQCACQcisEGooAgAgA0cNACACQdjfEGoiAigCACEDIAJBADYCACAEQQA7AQwgBCADNgIIIARBCGohAgwCCyACQQRqIQIMAAsLIAAgAikCADcCACAEQRBqJAALIgAgASgCACABKAIEIAEoAgggASgCDCABKAIQIAARAQBBAAvbAQEBfyMAQRBrIgQkAAJAAkAgAg0AQUAhAgNAAkAgAg0AQciwECECDAMLAkAgAkGY4BBqKAIADQAgAkGY4BBqIAM2AgAgBEEAOwEEIAQgAkGIrRBqKAIANgIAIAQhAgwDCyACQQRqIQIMAAsLQUAhAgNAAkAgAg0AQdCwECECDAILAkAgAkGIrRBqKAIAIANHDQAgAkGY4BBqIgIoAgAhAyACQQA2AgAgBEEAOwEMIAQgAzYCCCAEQQhqIQIMAgsgAkEEaiECDAALCyAAIAIpAgA3AgAgBEEQaiQACx0AIAEoAgAgASgCBCABKAIIIAEoAgwgABEKAEEAC9sBAQF/IwBBEGsiBCQAAkACQCACDQBBQCECA0ACQCACDQBByLAQIQIMAwsCQCACQdjgEGooAgANACACQdjgEGogAzYCACAEQQA7AQQgBCACQcitEGooAgA2AgAgBCECDAMLIAJBBGohAgwACwtBQCECA0ACQCACDQBB0LAQIQIMAgsCQCACQcitEGooAgAgA0cNACACQdjgEGoiAigCACEDIAJBADYCACAEQQA7AQwgBCADNgIIIARBCGohAgwCCyACQQRqIQIMAAsLIAAgAikCADcCACAEQRBqJAALZwEEfyMAQSBrIgIkACACQQRqQRRqIAFBFGopAgA3AgAgAiABKAIAIgM2AgQgAiABKAIEIgQ2AgggAiABKAIIIgU2AgwgAiABKQIMNwIQIAMgBCAFIAJBEGogABEKACACQSBqJABBAAvbAQEBfyMAQRBrIgQkAAJAAkAgAg0AQUAhAgNAAkAgAg0AQciwECECDAMLAkAgAkGY4RBqKAIADQAgAkGY4RBqIAM2AgAgBEEAOwEEIAQgAkGIrhBqKAIANgIAIAQhAgwDCyACQQRqIQIMAAsLQUAhAgNAAkAgAg0AQdCwECECDAILAkAgAkGIrhBqKAIAIANHDQAgAkGY4RBqIgIoAgAhAyACQQA2AgAgBEEAOwEMIAQgAzYCCCAEQQhqIQIMAgsgAkEEaiECDAALCyAAIAIpAgA3AgAgBEEQaiQACycAIAEoAgAgASgCBCABKAIIIAEoAgwgASoCECABKgIUIAARDABBAAvbAQEBfyMAQRBrIgQkAAJAAkAgAg0AQUAhAgNAAkAgAg0AQciwECECDAMLAkAgAkHY4RBqKAIADQAgAkHY4RBqIAM2AgAgBEEAOwEEIAQgAkHIrhBqKAIANgIAIAQhAgwDCyACQQRqIQIMAAsLQUAhAgNAAkAgAg0AQdCwECECDAILAkAgAkHIrhBqKAIAIANHDQAgAkHY4RBqIgIoAgAhAyACQQA2AgAgBEEAOwEMIAQgAzYCCCAEQQhqIQIMAgsgAkEEaiECDAALCyAAIAIpAgA3AgAgBEEQaiQAC10BBH8jAEGQA2siAiQAIAIgASgC9AIiAzYCBCACIAEoAvACIgQ2AgAgAkEQaiIFIAFB8AL8CgAAIAIgASgC+AIiATYCgAMgBCADIAUgASAAEQoAIAJBkANqJABBAAvbAQEBfyMAQRBrIgQkAAJAAkAgAg0AQUAhAgNAAkAgAg0AQciwECECDAMLAkAgAkGY4hBqKAIADQAgAkGY4hBqIAM2AgAgBEEAOwEEIAQgAkGIrxBqKAIANgIAIAQhAgwDCyACQQRqIQIMAAsLQUAhAgNAAkAgAg0AQdCwECECDAILAkAgAkGIrxBqKAIAIANHDQAgAkGY4hBqIgIoAgAhAyACQQA2AgAgBEEAOwEMIAQgAzYCCCAEQQhqIQIMAgsgAkEEaiECDAALCyAAIAIpAgA3AgAgBEEQaiQAC9sBAQF/IwBBEGsiBCQAAkACQCACDQBBQCECA0ACQCACDQBByLAQIQIMAwsCQCACQdjiEGooAgANACACQdjiEGogAzYCACAEQQA7AQQgBCACQcivEGooAgA2AgAgBCECDAMLIAJBBGohAgwACwtBQCECA0ACQCACDQBB0LAQIQIMAgsCQCACQcivEGooAgAgA0cNACACQdjiEGoiAigCACEDIAJBADYCACAEQQA7AQwgBCADNgIIIARBCGohAgwCCyACQQRqIQIMAAsLIAAgAikCADcCACAEQRBqJAAL2wEBAX8jAEEQayIEJAACQAJAIAINAEFAIQIDQAJAIAINAEHIsBAhAgwDCwJAIAJBmOMQaigCAA0AIAJBmOMQaiADNgIAIARBADsBBCAEIAJBiLAQaigCADYCACAEIQIMAwsgAkEEaiECDAALC0FAIQIDQAJAIAINAEHQsBAhAgwCCwJAIAJBiLAQaigCACADRw0AIAJBmOMQaiICKAIAIQMgAkEANgIAIARBADsBDCAEIAM2AgggBEEIaiECDAILIAJBBGohAgwACwsgACACKQIANwIAIARBEGokAAtUAQN/IwBBIGsiAiQAIAIgASgCBCIDNgIQIAIgASgCACIENgIMIAIgASkCCDcCFCACIAEoAhAiATYCHCAEIAMgAkEUaiABIAARCgAgAkEgaiQAQQAL2wEBAX8jAEEQayIEJAACQAJAIAINAEFAIQIDQAJAIAINAEHIsBAhAgwDCwJAIAJB2OMQaigCAA0AIAJB2OMQaiADNgIAIARBADsBBCAEIAJByLAQaigCADYCACAEIQIMAwsgAkEEaiECDAALC0FAIQIDQAJAIAINAEHQsBAhAgwCCwJAIAJByLAQaigCACADRw0AIAJB2OMQaiICKAIAIQMgAkEANgIAIARBADsBDCAEIAM2AgggBEEIaiECDAILIAJBBGohAgwACwsgACACKQIANwIAIARBEGokAAtIAQF/IwBBIGsiAiQAIAIgASkCCDcDCCACIAEpAhA3AxAgAkEYaiACQQhqIAJBEGogABEGACABIAIpAxg3AgAgAkEgaiQAQQALOwEBfyMAQRBrIgIkACACIAEpAgQ3AwAgAiABKQIMNwMIIAEgAiACQQhqIAARBwA4AgAgAkEQaiQAQQALLwEBfyMAQRBrIgIkACACIAEpAgQ3AwggASACQQhqIAARFAA4AgAgAkEQaiQAQQALawEBfyMAQTBrIgIkACACQRBqIAFBEGopAgA3AwAgAkEgaiABQSBqKQIANwMAIAIgASkCCDcDCCACIAEpAhg3AxggAkEoaiACQQhqIAJBCGpBEGogABEGACABIAIpAyg3AgAgAkEwaiQAQQALWwEBfyMAQSBrIgIkACACQQhqIAFBDGopAgA3AwAgAkEYaiABQRxqKQIANwMAIAIgASkCBDcDACACIAEpAhQ3AxAgASACIAJBEGogABEHADgCACACQSBqJABBAAtJAQF/IwBBIGsiAiQAIAJBEGogAUEQaikCADcDACACIAEpAgg3AwggAkEYaiACQQhqIAARAgAgASACKQMYNwIAIAJBIGokAEEACxAAIAAgAUEAKALU2hAQzQILXQEBfyMAQRBrIgMkACADIAE2AgwgAyAANgIIAkACQAJAAkAgAiADQQhqQQgQtAIOBAADAQIACyADQRBqJAAPC0H4kRBBIhARAAtB3ZEQQRoQEQALQcKREEEaEBEACxAAIAAgAUEAKALY2hAQzQILEAAgACABQQAoAtzaEBDNAgsQACAAIAFBACgC4NoQEM0CCxAAIAAgAUEAKALk2hAQzQILEAAgACABQQAoAujaEBDNAgsQACAAIAFBACgC7NoQEM0CCxAAIAAgAUEAKALw2hAQzQILEAAgACABQQAoAvTaEBDNAgsQACAAIAFBACgC+NoQEM0CCxAAIAAgAUEAKAL82hAQzQILEAAgACABQQAoAoDbEBDNAgsQACAAIAFBACgChNsQEM0CCxAAIAAgAUEAKAKI2xAQzQILEAAgACABQQAoAozbEBDNAgsQACAAIAFBACgCkNsQEM0CCwwAQQAoApTbEBDeAgtYAQF/IwBBEGsiASQAAkACQAJAAkAgACABQQxqQQQQtAIOBAADAQIACyABKAIMIQAgAUEQaiQAIAAPC0H4kRBBIhARAAtB3ZEQQRoQEQALQcKREEEaEBEACwwAQQAoApjbEBDeAgsMAEEAKAKc2xAQ3gILDABBACgCoNsQEN4CCwwAQQAoAqTbEBDeAgsMAEEAKAKo2xAQ3gILDABBACgCrNsQEN4CCwwAQQAoArDbEBDeAgsMAEEAKAK02xAQ3gILDABBACgCuNsQEN4CCwwAQQAoArzbEBDeAgsMAEEAKALA2xAQ3gILDABBACgCxNsQEN4CCwwAQQAoAsjbEBDeAgsMAEEAKALM2xAQ3gILDABBACgC0NsQEN4CCxAAIAAgAUEAKALU2xAQ7wILZgEBfyMAQRBrIgMkACADIAE2AgwgAyAANgIIAkACQAJAAkAgAiADQQRqQQwQtAIOBAADAQIACyADKAIEIQEgA0EQaiQAIAEPC0H4kRBBIhARAAtB3ZEQQRoQEQALQcKREEEaEBEACxAAIAAgAUEAKALY2xAQ7wILEAAgACABQQAoAtzbEBDvAgsQACAAIAFBACgC4NsQEO8CCxAAIAAgAUEAKALk2xAQ7wILEAAgACABQQAoAujbEBDvAgsQACAAIAFBACgC7NsQEO8CCxAAIAAgAUEAKALw2xAQ7wILEAAgACABQQAoAvTbEBDvAgsQACAAIAFBACgC+NsQEO8CCxAAIAAgAUEAKAL82xAQ7wILEAAgACABQQAoAoDcEBDvAgsQACAAIAFBACgChNwQEO8CCxAAIAAgAUEAKAKI3BAQ7wILEAAgACABQQAoAozcEBDvAgsQACAAIAFBACgCkNwQEO8CCw4AIABBACgClNwQEIADC1YBAX8jAEEQayICJAAgAiAAOwEOAkACQAJAAkAgASACQQ5qQQIQtAIOBAADAQIACyACQRBqJAAPC0H4kRBBIhARAAtB3ZEQQRoQEQALQcKREEEaEBEACw4AIABBACgCmNwQEIADCw4AIABBACgCnNwQEIADCw4AIABBACgCoNwQEIADCw4AIABBACgCpNwQEIADCw4AIABBACgCqNwQEIADCw4AIABBACgCrNwQEIADCw4AIABBACgCsNwQEIADCw4AIABBACgCtNwQEIADCw4AIABBACgCuNwQEIADCw4AIABBACgCvNwQEIADCw4AIABBACgCwNwQEIADCw4AIABBACgCxNwQEIADCw4AIABBACgCyNwQEIADCw4AIABBACgCzNwQEIADCw4AIABBACgC0NwQEIADC14BAX8jAEEgayIDJAAgAyABIAJBACgC2NwQEJEDIABBGGogA0EYaikCADcCACAAQRBqIANBEGopAgA3AgAgAEEIaiADQQhqKQIANwIAIAAgAykCADcCACADQSBqJAALswEBAX8jAEEwayIEJAAgBCACOwEsIARBLmogAkGAgPwAcUEQdjoAACAEIAE2AigCQAJAAkACQCADIARBCGpBKBC0Ag4EAAMBAgALIAAgBCkCCDcCACAAQRhqIARBCGpBGGopAgA3AgAgAEEQaiAEQQhqQRBqKQIANwIAIABBCGogBEEIakEIaikCADcCACAEQTBqJAAPC0H4kRBBIhARAAtB3ZEQQRoQEQALQcKREEEaEBEAC14BAX8jAEEgayIDJAAgAyABIAJBACgC3NwQEJEDIABBGGogA0EYaikCADcCACAAQRBqIANBEGopAgA3AgAgAEEIaiADQQhqKQIANwIAIAAgAykCADcCACADQSBqJAALXgEBfyMAQSBrIgMkACADIAEgAkEAKALg3BAQkQMgAEEYaiADQRhqKQIANwIAIABBEGogA0EQaikCADcCACAAQQhqIANBCGopAgA3AgAgACADKQIANwIAIANBIGokAAteAQF/IwBBIGsiAyQAIAMgASACQQAoAuTcEBCRAyAAQRhqIANBGGopAgA3AgAgAEEQaiADQRBqKQIANwIAIABBCGogA0EIaikCADcCACAAIAMpAgA3AgAgA0EgaiQAC14BAX8jAEEgayIDJAAgAyABIAJBACgC6NwQEJEDIABBGGogA0EYaikCADcCACAAQRBqIANBEGopAgA3AgAgAEEIaiADQQhqKQIANwIAIAAgAykCADcCACADQSBqJAALXgEBfyMAQSBrIgMkACADIAEgAkEAKALs3BAQkQMgAEEYaiADQRhqKQIANwIAIABBEGogA0EQaikCADcCACAAQQhqIANBCGopAgA3AgAgACADKQIANwIAIANBIGokAAteAQF/IwBBIGsiAyQAIAMgASACQQAoAvDcEBCRAyAAQRhqIANBGGopAgA3AgAgAEEQaiADQRBqKQIANwIAIABBCGogA0EIaikCADcCACAAIAMpAgA3AgAgA0EgaiQAC14BAX8jAEEgayIDJAAgAyABIAJBACgC9NwQEJEDIABBGGogA0EYaikCADcCACAAQRBqIANBEGopAgA3AgAgAEEIaiADQQhqKQIANwIAIAAgAykCADcCACADQSBqJAALXgEBfyMAQSBrIgMkACADIAEgAkEAKAL43BAQkQMgAEEYaiADQRhqKQIANwIAIABBEGogA0EQaikCADcCACAAQQhqIANBCGopAgA3AgAgACADKQIANwIAIANBIGokAAteAQF/IwBBIGsiAyQAIAMgASACQQAoAvzcEBCRAyAAQRhqIANBGGopAgA3AgAgAEEQaiADQRBqKQIANwIAIABBCGogA0EIaikCADcCACAAIAMpAgA3AgAgA0EgaiQAC14BAX8jAEEgayIDJAAgAyABIAJBACgCgN0QEJEDIABBGGogA0EYaikCADcCACAAQRBqIANBEGopAgA3AgAgAEEIaiADQQhqKQIANwIAIAAgAykCADcCACADQSBqJAALXgEBfyMAQSBrIgMkACADIAEgAkEAKAKE3RAQkQMgAEEYaiADQRhqKQIANwIAIABBEGogA0EQaikCADcCACAAQQhqIANBCGopAgA3AgAgACADKQIANwIAIANBIGokAAteAQF/IwBBIGsiAyQAIAMgASACQQAoAojdEBCRAyAAQRhqIANBGGopAgA3AgAgAEEQaiADQRBqKQIANwIAIABBCGogA0EIaikCADcCACAAIAMpAgA3AgAgA0EgaiQAC14BAX8jAEEgayIDJAAgAyABIAJBACgCjN0QEJEDIABBGGogA0EYaikCADcCACAAQRBqIANBEGopAgA3AgAgAEEIaiADQQhqKQIANwIAIAAgAykCADcCACADQSBqJAALXgEBfyMAQSBrIgMkACADIAEgAkEAKAKQ3RAQkQMgAEEYaiADQRhqKQIANwIAIABBEGogA0EQaikCADcCACAAQQhqIANBCGopAgA3AgAgACADKQIANwIAIANBIGokAAteAQF/IwBBIGsiAyQAIAMgASACQQAoApTdEBCRAyAAQRhqIANBGGopAgA3AgAgAEEQaiADQRBqKQIANwIAIABBCGogA0EIaikCADcCACAAIAMpAgA3AgAgA0EgaiQACxAAIAAgAUEAKAKY3RAQogMLjgECAX8BfSMAQRBrIgMkACADIAE7AQwgA0EOaiABQYCA/ABxQRB2OgAAIAMgADsBCCADQQpqIABBgID8AHFBEHY6AAACQAJAAkACQCACIANBBGpBDBC0Ag4EAAMBAgALIAMqAgQhBCADQRBqJAAgBA8LQfiREEEiEBEAC0HdkRBBGhARAAtBwpEQQRoQEQALEAAgACABQQAoApzdEBCiAwsQACAAIAFBACgCoN0QEKIDCxAAIAAgAUEAKAKk3RAQogMLEAAgACABQQAoAqjdEBCiAwsQACAAIAFBACgCrN0QEKIDCxAAIAAgAUEAKAKw3RAQogMLEAAgACABQQAoArTdEBCiAwsQACAAIAFBACgCuN0QEKIDCxAAIAAgAUEAKAK83RAQogMLEAAgACABQQAoAsDdEBCiAwsQACAAIAFBACgCxN0QEKIDCxAAIAAgAUEAKALI3RAQogMLEAAgACABQQAoAszdEBCiAwsQACAAIAFBACgC0N0QEKIDCxAAIAAgAUEAKALU3RAQogMLaAEBfyMAQTBrIgQkACAEQRhqIAFBCGopAgA3AgAgBCADOAIkIAQgAjgCICAEIAA2AgwgBCABKQIANwIQIARBADYCKCAEQQAoAtjdECIBNgIsIAAgBEEQaiACIAMgARCzAyAEQTBqJAALfgEBfyMAQSBrIgUkACAFQRBqIAFBCGopAgA3AgAgBSADOAIcIAUgAjgCGCAFIAA2AgQgBSABKQIANwIIAkACQAJAAkAgBCAFQQRqQRwQtAIOBAADAQIACyAFQSBqJAAPC0H4kRBBIhARAAtB3ZEQQRoQEQALQcKREEEaEBEAC2gBAX8jAEEwayIEJAAgBEEYaiABQQhqKQIANwIAIAQgAzgCJCAEIAI4AiAgBCAANgIMIAQgASkCADcCECAEQQA2AiggBEEAKALc3RAiATYCLCAAIARBEGogAiADIAEQswMgBEEwaiQAC2gBAX8jAEEwayIEJAAgBEEYaiABQQhqKQIANwIAIAQgAzgCJCAEIAI4AiAgBCAANgIMIAQgASkCADcCECAEQQA2AiggBEEAKALg3RAiATYCLCAAIARBEGogAiADIAEQswMgBEEwaiQAC2gBAX8jAEEwayIEJAAgBEEYaiABQQhqKQIANwIAIAQgAzgCJCAEIAI4AiAgBCAANgIMIAQgASkCADcCECAEQQA2AiggBEEAKALk3RAiATYCLCAAIARBEGogAiADIAEQswMgBEEwaiQAC2gBAX8jAEEwayIEJAAgBEEYaiABQQhqKQIANwIAIAQgAzgCJCAEIAI4AiAgBCAANgIMIAQgASkCADcCECAEQQA2AiggBEEAKALo3RAiATYCLCAAIARBEGogAiADIAEQswMgBEEwaiQAC2gBAX8jAEEwayIEJAAgBEEYaiABQQhqKQIANwIAIAQgAzgCJCAEIAI4AiAgBCAANgIMIAQgASkCADcCECAEQQA2AiggBEEAKALs3RAiATYCLCAAIARBEGogAiADIAEQswMgBEEwaiQAC2gBAX8jAEEwayIEJAAgBEEYaiABQQhqKQIANwIAIAQgAzgCJCAEIAI4AiAgBCAANgIMIAQgASkCADcCECAEQQA2AiggBEEAKALw3RAiATYCLCAAIARBEGogAiADIAEQswMgBEEwaiQAC2gBAX8jAEEwayIEJAAgBEEYaiABQQhqKQIANwIAIAQgAzgCJCAEIAI4AiAgBCAANgIMIAQgASkCADcCECAEQQA2AiggBEEAKAL03RAiATYCLCAAIARBEGogAiADIAEQswMgBEEwaiQAC2gBAX8jAEEwayIEJAAgBEEYaiABQQhqKQIANwIAIAQgAzgCJCAEIAI4AiAgBCAANgIMIAQgASkCADcCECAEQQA2AiggBEEAKAL43RAiATYCLCAAIARBEGogAiADIAEQswMgBEEwaiQAC2gBAX8jAEEwayIEJAAgBEEYaiABQQhqKQIANwIAIAQgAzgCJCAEIAI4AiAgBCAANgIMIAQgASkCADcCECAEQQA2AiggBEEAKAL83RAiATYCLCAAIARBEGogAiADIAEQswMgBEEwaiQAC2gBAX8jAEEwayIEJAAgBEEYaiABQQhqKQIANwIAIAQgAzgCJCAEIAI4AiAgBCAANgIMIAQgASkCADcCECAEQQA2AiggBEEAKAKA3hAiATYCLCAAIARBEGogAiADIAEQswMgBEEwaiQAC2gBAX8jAEEwayIEJAAgBEEYaiABQQhqKQIANwIAIAQgAzgCJCAEIAI4AiAgBCAANgIMIAQgASkCADcCECAEQQA2AiggBEEAKAKE3hAiATYCLCAAIARBEGogAiADIAEQswMgBEEwaiQAC2gBAX8jAEEwayIEJAAgBEEYaiABQQhqKQIANwIAIAQgAzgCJCAEIAI4AiAgBCAANgIMIAQgASkCADcCECAEQQA2AiggBEEAKAKI3hAiATYCLCAAIARBEGogAiADIAEQswMgBEEwaiQAC2gBAX8jAEEwayIEJAAgBEEYaiABQQhqKQIANwIAIAQgAzgCJCAEIAI4AiAgBCAANgIMIAQgASkCADcCECAEQQA2AiggBEEAKAKM3hAiATYCLCAAIARBEGogAiADIAEQswMgBEEwaiQAC2gBAX8jAEEwayIEJAAgBEEYaiABQQhqKQIANwIAIAQgAzgCJCAEIAI4AiAgBCAANgIMIAQgASkCADcCECAEQQA2AiggBEEAKAKQ3hAiATYCLCAAIARBEGogAiADIAEQswMgBEEwaiQAC2gBAX8jAEEwayIEJAAgBEEYaiABQQhqKQIANwIAIAQgAzgCJCAEIAI4AiAgBCAANgIMIAQgASkCADcCECAEQQA2AiggBEEAKAKU3hAiATYCLCAAIARBEGogAiADIAEQswMgBEEwaiQAC4kBAQF/IwBB8ABrIgIkACACQQhqIABBxAD8CgAAIAJB5ABqIAFBGGooAgA2AgAgAkHcAGogAUEQaikCADcCACACQdQAaiABQQhqKQIANwIAIAIgASkCADcCTCACQQA2AmggAkEAKAKY3hAiATYCbCACQQhqIAJBCGpBxABqIAEQxAMgAkHwAGokAAuXAQEBfyMAQeAAayIDJAAgAyAAQcQA/AoAACADQdwAaiABQRhqKAIANgIAIANB1ABqIAFBEGopAgA3AgAgA0HMAGogAUEIaikCADcCACADIAEpAgA3AkQCQAJAAkACQCACIANB4AAQtAIOBAADAQIACyADQeAAaiQADwtB+JEQQSIQEQALQd2REEEaEBEAC0HCkRBBGhARAAuJAQEBfyMAQfAAayICJAAgAkEIaiAAQcQA/AoAACACQeQAaiABQRhqKAIANgIAIAJB3ABqIAFBEGopAgA3AgAgAkHUAGogAUEIaikCADcCACACIAEpAgA3AkwgAkEANgJoIAJBACgCnN4QIgE2AmwgAkEIaiACQQhqQcQAaiABEMQDIAJB8ABqJAALiQEBAX8jAEHwAGsiAiQAIAJBCGogAEHEAPwKAAAgAkHkAGogAUEYaigCADYCACACQdwAaiABQRBqKQIANwIAIAJB1ABqIAFBCGopAgA3AgAgAiABKQIANwJMIAJBADYCaCACQQAoAqDeECIBNgJsIAJBCGogAkEIakHEAGogARDEAyACQfAAaiQAC4kBAQF/IwBB8ABrIgIkACACQQhqIABBxAD8CgAAIAJB5ABqIAFBGGooAgA2AgAgAkHcAGogAUEQaikCADcCACACQdQAaiABQQhqKQIANwIAIAIgASkCADcCTCACQQA2AmggAkEAKAKk3hAiATYCbCACQQhqIAJBCGpBxABqIAEQxAMgAkHwAGokAAuJAQEBfyMAQfAAayICJAAgAkEIaiAAQcQA/AoAACACQeQAaiABQRhqKAIANgIAIAJB3ABqIAFBEGopAgA3AgAgAkHUAGogAUEIaikCADcCACACIAEpAgA3AkwgAkEANgJoIAJBACgCqN4QIgE2AmwgAkEIaiACQQhqQcQAaiABEMQDIAJB8ABqJAALiQEBAX8jAEHwAGsiAiQAIAJBCGogAEHEAPwKAAAgAkHkAGogAUEYaigCADYCACACQdwAaiABQRBqKQIANwIAIAJB1ABqIAFBCGopAgA3AgAgAiABKQIANwJMIAJBADYCaCACQQAoAqzeECIBNgJsIAJBCGogAkEIakHEAGogARDEAyACQfAAaiQAC4kBAQF/IwBB8ABrIgIkACACQQhqIABBxAD8CgAAIAJB5ABqIAFBGGooAgA2AgAgAkHcAGogAUEQaikCADcCACACQdQAaiABQQhqKQIANwIAIAIgASkCADcCTCACQQA2AmggAkEAKAKw3hAiATYCbCACQQhqIAJBCGpBxABqIAEQxAMgAkHwAGokAAuJAQEBfyMAQfAAayICJAAgAkEIaiAAQcQA/AoAACACQeQAaiABQRhqKAIANgIAIAJB3ABqIAFBEGopAgA3AgAgAkHUAGogAUEIaikCADcCACACIAEpAgA3AkwgAkEANgJoIAJBACgCtN4QIgE2AmwgAkEIaiACQQhqQcQAaiABEMQDIAJB8ABqJAALiQEBAX8jAEHwAGsiAiQAIAJBCGogAEHEAPwKAAAgAkHkAGogAUEYaigCADYCACACQdwAaiABQRBqKQIANwIAIAJB1ABqIAFBCGopAgA3AgAgAiABKQIANwJMIAJBADYCaCACQQAoArjeECIBNgJsIAJBCGogAkEIakHEAGogARDEAyACQfAAaiQAC4kBAQF/IwBB8ABrIgIkACACQQhqIABBxAD8CgAAIAJB5ABqIAFBGGooAgA2AgAgAkHcAGogAUEQaikCADcCACACQdQAaiABQQhqKQIANwIAIAIgASkCADcCTCACQQA2AmggAkEAKAK83hAiATYCbCACQQhqIAJBCGpBxABqIAEQxAMgAkHwAGokAAuJAQEBfyMAQfAAayICJAAgAkEIaiAAQcQA/AoAACACQeQAaiABQRhqKAIANgIAIAJB3ABqIAFBEGopAgA3AgAgAkHUAGogAUEIaikCADcCACACIAEpAgA3AkwgAkEANgJoIAJBACgCwN4QIgE2AmwgAkEIaiACQQhqQcQAaiABEMQDIAJB8ABqJAALiQEBAX8jAEHwAGsiAiQAIAJBCGogAEHEAPwKAAAgAkHkAGogAUEYaigCADYCACACQdwAaiABQRBqKQIANwIAIAJB1ABqIAFBCGopAgA3AgAgAiABKQIANwJMIAJBADYCaCACQQAoAsTeECIBNgJsIAJBCGogAkEIakHEAGogARDEAyACQfAAaiQAC4kBAQF/IwBB8ABrIgIkACACQQhqIABBxAD8CgAAIAJB5ABqIAFBGGooAgA2AgAgAkHcAGogAUEQaikCADcCACACQdQAaiABQQhqKQIANwIAIAIgASkCADcCTCACQQA2AmggAkEAKALI3hAiATYCbCACQQhqIAJBCGpBxABqIAEQxAMgAkHwAGokAAuJAQEBfyMAQfAAayICJAAgAkEIaiAAQcQA/AoAACACQeQAaiABQRhqKAIANgIAIAJB3ABqIAFBEGopAgA3AgAgAkHUAGogAUEIaikCADcCACACIAEpAgA3AkwgAkEANgJoIAJBACgCzN4QIgE2AmwgAkEIaiACQQhqQcQAaiABEMQDIAJB8ABqJAALiQEBAX8jAEHwAGsiAiQAIAJBCGogAEHEAPwKAAAgAkHkAGogAUEYaigCADYCACACQdwAaiABQRBqKQIANwIAIAJB1ABqIAFBCGopAgA3AgAgAiABKQIANwJMIAJBADYCaCACQQAoAtDeECIBNgJsIAJBCGogAkEIakHEAGogARDEAyACQfAAaiQAC4kBAQF/IwBB8ABrIgIkACACQQhqIABBxAD8CgAAIAJB5ABqIAFBGGooAgA2AgAgAkHcAGogAUEQaikCADcCACACQdQAaiABQQhqKQIANwIAIAIgASkCADcCTCACQQA2AmggAkEAKALU3hAiATYCbCACQQhqIAJBCGpBxABqIAEQxAMgAkHwAGokAAtVAQF/IwBBEGsiBCQAIAQgACkCADcDCCADQQFqIQACQANAAkAgAEF/aiIADQBBACEDDAILIARBCGogASACELEBIgNB//8DcUUNAAsLIARBEGokACADC4QBAgF/AX4jAEEgayIDJABCACEEAkAgAkGAAU8NACADQRBqIAEpAwhCACAAQgAQngUgAyABKQMAQgAgAEIAEJ4FIANBCGopAwAiBCADKQMQfCIAIAJBP3EiAq2IIANBEGpBCGopAwAgACAEVK18QgGGIAJBP3OthoQhBAsgA0EgaiQAIAQLRQICfwF+QQAhAkEAIQMDfwJAAkAgAFANACAAIABCBYAiBEIFfn1CAFENASADIQILIAIgAU8PCyADQQFqIQMgBCEADAALC4cBAQJ/QQAhAwJAIAItAAxFDQAgAUEtOgAAIAItAAwhAwsgASADQQFxaiEEAkACQCACKQMAUA0AIARBAmpBAC0AtIkQOgAAIARBAC8AsokQOwAADAELIARBAmpBAC0A+YsQOgAAIARBAC8A94sQOwAACyAAIAE2AgAgAEEEQQMgA0EBcRs2AgQL/wIEAn8BfgF/B34jAEEgayIEJAAgASgCCCEFIAEpAwAiBhDZAyEHAkACQAJAIAJBAXENACAFQQBMDQEgByADaiAFakF/aiECDAILIANBAWohAgwBCyAHIANqIgIgBWpBACACQQAgBWtLGyECCwJAIAIgB08NACAHIAVqIQMgByACQX9zaiEHAkADQCAHRQ0BIAdBf2ohByAGQgqAIQYMAAsLIAMgAkF/c2ohBSAGIAZCCoAiCEIKfn1CBVQNACAIQgF8IgYhCEIAIQkCQANAIARBEGogCCAJQgpCABChBSAEIAQpAxAiCiAEQRBqQQhqKQMAIgtCCkIAEJ4FIAggCYQiDFANASAJIARBCGopAwB9IQ0gCCAEKQMAIglUIQcgCCAJfSEOIAohCCALIQkgDiANIAetfYRQDQALCwJAIAxCAFENACADIAJrIQUMAQsgBUECaiEFIAZCCoAhBgsgACAFNgIIIAAgBjcDACAAIAEtAAxBAXE6AAwgBEEgaiQAC4kCAAJAIABCgICE/qbe4RFUDQBBEQ8LAkAgAEL//5mm6q/jAVgNAEEQDwsCQCAAQv//6IOx3hZYDQBBDw8LAkAgAEL/v8rzhKMCWA0AQQ4PCwJAIABC/5+UpY0dWA0AQQ0PCwJAIABC/8/bw/QCWA0AQQwPCwJAIABC/8evoCVYDQBBCw8LAkAgAEL/k+vcA1gNAEEKDwsCQCAAQv/B1y9YDQBBCQ8LAkAgAEL/rOIEWA0AQQgPCwJAIABCv4Q9WA0AQQcPCwJAIABCn40GWA0AQQYPCwJAIABCj84AWA0AQQUPCwJAIABC5wdYDQBBBA8LAkAgAELjAFgNAEEDDwtBAkEBIABCCVYbC7cBAwJ/An4BfyACIABqQX9qIQBBACEDA0ACQCADQQJqIgQgAkkNAAJAA0AgAyACTw0BIAEgASkDACIFQgqAIgY3AwAgACAFIAZCCn59p0EwcjoAACAAQX9qIQAgA0EBaiEDDAALCw8LIAEgASkDACIFQuQAgCIGNwMAIABBf2ogBSAGQuQAfn2nIgNB/wFxQQpuIgdBMHI6AAAgACADIAdBCmxrQTByOgAAIABBfmohACAEIQMMAAsLSgECfyMAQZABayICJAAgAiABQcgA/AoAACACQcgAaiIDIAFByABqQcgA/AoAACABIAIgAyAAEQkAQQFxOgCQASACQZABaiQAQQALSgECfyMAQeABayICJAAgAiABQfAA/AoAACACQfAAaiIDIAFB8ABqQfAA/AoAACABIAIgAyAAEQkAQQFxOgDgASACQeABaiQAQQALSgECfyMAQdABayICJAAgAiABQegA/AoAACACQegAaiIDIAFB6ABqQegA/AoAACABIAIgAyAAEQkAQQFxOgDQASACQdABaiQAQQALEgAgACABIAJBACgC2N4QEN8DC2QBAX8jAEEQayIEJAAgBCACNgIMIAQgATYCCCAEIAA2AgQCQAJAAkACQCADIARBBGpBDBC0Ag4EAAMBAgALIARBEGokAA8LQfiREEEiEBEAC0HdkRBBGhARAAtBwpEQQRoQEQALEgAgACABIAJBACgC3N4QEN8DCxIAIAAgASACQQAoAuDeEBDfAwsSACAAIAEgAkEAKALk3hAQ3wMLEgAgACABIAJBACgC6N4QEN8DCxIAIAAgASACQQAoAuzeEBDfAwsSACAAIAEgAkEAKALw3hAQ3wMLEgAgACABIAJBACgC9N4QEN8DCxIAIAAgASACQQAoAvjeEBDfAwsSACAAIAEgAkEAKAL83hAQ3wMLEgAgACABIAJBACgCgN8QEN8DCxIAIAAgASACQQAoAoTfEBDfAwsSACAAIAEgAkEAKAKI3xAQ3wMLEgAgACABIAJBACgCjN8QEN8DCxIAIAAgASACQQAoApDfEBDfAwsSACAAIAEgAkEAKAKU3xAQ3wMLEAAgACABQQAoApjfEBDNAgsQACAAIAFBACgCnN8QEM0CCxAAIAAgAUEAKAKg3xAQzQILEAAgACABQQAoAqTfEBDNAgsQACAAIAFBACgCqN8QEM0CCxAAIAAgAUEAKAKs3xAQzQILEAAgACABQQAoArDfEBDNAgsQACAAIAFBACgCtN8QEM0CCxAAIAAgAUEAKAK43xAQzQILEAAgACABQQAoArzfEBDNAgsQACAAIAFBACgCwN8QEM0CCxAAIAAgAUEAKALE3xAQzQILEAAgACABQQAoAsjfEBDNAgsQACAAIAFBACgCzN8QEM0CCxAAIAAgAUEAKALQ3xAQzQILEAAgACABQQAoAtTfEBDNAgsWACAAIAEgAiADIARBACgC2N8QEIAEC3IBAX8jAEEgayIGJAAgBiAENgIcIAYgAzYCGCAGIAI2AhQgBiABNgIQIAYgADYCDAJAAkACQAJAIAUgBkEMakEUELQCDgQAAwECAAsgBkEgaiQADwtB+JEQQSIQEQALQd2REEEaEBEAC0HCkRBBGhARAAsWACAAIAEgAiADIARBACgC3N8QEIAECxYAIAAgASACIAMgBEEAKALg3xAQgAQLFgAgACABIAIgAyAEQQAoAuTfEBCABAsWACAAIAEgAiADIARBACgC6N8QEIAECxYAIAAgASACIAMgBEEAKALs3xAQgAQLFgAgACABIAIgAyAEQQAoAvDfEBCABAsWACAAIAEgAiADIARBACgC9N8QEIAECxYAIAAgASACIAMgBEEAKAL43xAQgAQLFgAgACABIAIgAyAEQQAoAvzfEBCABAsWACAAIAEgAiADIARBACgCgOAQEIAECxYAIAAgASACIAMgBEEAKAKE4BAQgAQLFgAgACABIAIgAyAEQQAoAojgEBCABAsWACAAIAEgAiADIARBACgCjOAQEIAECxYAIAAgASACIAMgBEEAKAKQ4BAQgAQLFgAgACABIAIgAyAEQQAoApTgEBCABAsUACAAIAEgAiADQQAoApjgEBCRBAtoAQF/IwBBEGsiBSQAIAUgAzYCDCAFIAI2AgggBSABNgIEIAUgADYCAAJAAkACQAJAIAQgBUEQELQCDgQAAwECAAsgBUEQaiQADwtB+JEQQSIQEQALQd2REEEaEBEAC0HCkRBBGhARAAsUACAAIAEgAiADQQAoApzgEBCRBAsUACAAIAEgAiADQQAoAqDgEBCRBAsUACAAIAEgAiADQQAoAqTgEBCRBAsUACAAIAEgAiADQQAoAqjgEBCRBAsUACAAIAEgAiADQQAoAqzgEBCRBAsUACAAIAEgAiADQQAoArDgEBCRBAsUACAAIAEgAiADQQAoArTgEBCRBAsUACAAIAEgAiADQQAoArjgEBCRBAsUACAAIAEgAiADQQAoArzgEBCRBAsUACAAIAEgAiADQQAoAsDgEBCRBAsUACAAIAEgAiADQQAoAsTgEBCRBAsUACAAIAEgAiADQQAoAsjgEBCRBAsUACAAIAEgAiADQQAoAszgEBCRBAsUACAAIAEgAiADQQAoAtDgEBCRBAsUACAAIAEgAiADQQAoAtTgEBCRBAtoAQF/IwBBMGsiBCQAIARBIGogA0EIaikCADcCACAEIAI2AhQgBCABNgIQIAQgADYCDCAEIAMpAgA3AhggBEEANgIoIARBACgC2OAQIgM2AiwgACABIAIgBEEYaiADEKIEIARBMGokAAt+AQF/IwBBIGsiBSQAIAVBGGogA0EIaikCADcCACAFIAI2AgwgBSABNgIIIAUgADYCBCAFIAMpAgA3AhACQAJAAkACQCAEIAVBBGpBHBC0Ag4EAAMBAgALIAVBIGokAA8LQfiREEEiEBEAC0HdkRBBGhARAAtBwpEQQRoQEQALaAEBfyMAQTBrIgQkACAEQSBqIANBCGopAgA3AgAgBCACNgIUIAQgATYCECAEIAA2AgwgBCADKQIANwIYIARBADYCKCAEQQAoAtzgECIDNgIsIAAgASACIARBGGogAxCiBCAEQTBqJAALaAEBfyMAQTBrIgQkACAEQSBqIANBCGopAgA3AgAgBCACNgIUIAQgATYCECAEIAA2AgwgBCADKQIANwIYIARBADYCKCAEQQAoAuDgECIDNgIsIAAgASACIARBGGogAxCiBCAEQTBqJAALaAEBfyMAQTBrIgQkACAEQSBqIANBCGopAgA3AgAgBCACNgIUIAQgATYCECAEIAA2AgwgBCADKQIANwIYIARBADYCKCAEQQAoAuTgECIDNgIsIAAgASACIARBGGogAxCiBCAEQTBqJAALaAEBfyMAQTBrIgQkACAEQSBqIANBCGopAgA3AgAgBCACNgIUIAQgATYCECAEIAA2AgwgBCADKQIANwIYIARBADYCKCAEQQAoAujgECIDNgIsIAAgASACIARBGGogAxCiBCAEQTBqJAALaAEBfyMAQTBrIgQkACAEQSBqIANBCGopAgA3AgAgBCACNgIUIAQgATYCECAEIAA2AgwgBCADKQIANwIYIARBADYCKCAEQQAoAuzgECIDNgIsIAAgASACIARBGGogAxCiBCAEQTBqJAALaAEBfyMAQTBrIgQkACAEQSBqIANBCGopAgA3AgAgBCACNgIUIAQgATYCECAEIAA2AgwgBCADKQIANwIYIARBADYCKCAEQQAoAvDgECIDNgIsIAAgASACIARBGGogAxCiBCAEQTBqJAALaAEBfyMAQTBrIgQkACAEQSBqIANBCGopAgA3AgAgBCACNgIUIAQgATYCECAEIAA2AgwgBCADKQIANwIYIARBADYCKCAEQQAoAvTgECIDNgIsIAAgASACIARBGGogAxCiBCAEQTBqJAALaAEBfyMAQTBrIgQkACAEQSBqIANBCGopAgA3AgAgBCACNgIUIAQgATYCECAEIAA2AgwgBCADKQIANwIYIARBADYCKCAEQQAoAvjgECIDNgIsIAAgASACIARBGGogAxCiBCAEQTBqJAALaAEBfyMAQTBrIgQkACAEQSBqIANBCGopAgA3AgAgBCACNgIUIAQgATYCECAEIAA2AgwgBCADKQIANwIYIARBADYCKCAEQQAoAvzgECIDNgIsIAAgASACIARBGGogAxCiBCAEQTBqJAALaAEBfyMAQTBrIgQkACAEQSBqIANBCGopAgA3AgAgBCACNgIUIAQgATYCECAEIAA2AgwgBCADKQIANwIYIARBADYCKCAEQQAoAoDhECIDNgIsIAAgASACIARBGGogAxCiBCAEQTBqJAALaAEBfyMAQTBrIgQkACAEQSBqIANBCGopAgA3AgAgBCACNgIUIAQgATYCECAEIAA2AgwgBCADKQIANwIYIARBADYCKCAEQQAoAoThECIDNgIsIAAgASACIARBGGogAxCiBCAEQTBqJAALaAEBfyMAQTBrIgQkACAEQSBqIANBCGopAgA3AgAgBCACNgIUIAQgATYCECAEIAA2AgwgBCADKQIANwIYIARBADYCKCAEQQAoAojhECIDNgIsIAAgASACIARBGGogAxCiBCAEQTBqJAALaAEBfyMAQTBrIgQkACAEQSBqIANBCGopAgA3AgAgBCACNgIUIAQgATYCECAEIAA2AgwgBCADKQIANwIYIARBADYCKCAEQQAoAozhECIDNgIsIAAgASACIARBGGogAxCiBCAEQTBqJAALaAEBfyMAQTBrIgQkACAEQSBqIANBCGopAgA3AgAgBCACNgIUIAQgATYCECAEIAA2AgwgBCADKQIANwIYIARBADYCKCAEQQAoApDhECIDNgIsIAAgASACIARBGGogAxCiBCAEQTBqJAALaAEBfyMAQTBrIgQkACAEQSBqIANBCGopAgA3AgAgBCACNgIUIAQgATYCECAEIAA2AgwgBCADKQIANwIYIARBADYCKCAEQQAoApThECIDNgIsIAAgASACIARBGGogAxCiBCAEQTBqJAALGAAgACABIAIgAyAEIAVBACgCmOEQELMEC3kBAX8jAEEgayIHJAAgByAFOAIcIAcgBDgCGCAHIAM2AhQgByACNgIQIAcgATYCDCAHIAA2AggCQAJAAkACQCAGIAdBCGpBGBC0Ag4EAAMBAgALIAdBIGokAA8LQfiREEEiEBEAC0HdkRBBGhARAAtBwpEQQRoQEQALGAAgACABIAIgAyAEIAVBACgCnOEQELMECxgAIAAgASACIAMgBCAFQQAoAqDhEBCzBAsYACAAIAEgAiADIAQgBUEAKAKk4RAQswQLGAAgACABIAIgAyAEIAVBACgCqOEQELMECxgAIAAgASACIAMgBCAFQQAoAqzhEBCzBAsYACAAIAEgAiADIAQgBUEAKAKw4RAQswQLGAAgACABIAIgAyAEIAVBACgCtOEQELMECxgAIAAgASACIAMgBCAFQQAoArjhEBCzBAsYACAAIAEgAiADIAQgBUEAKAK84RAQswQLGAAgACABIAIgAyAEIAVBACgCwOEQELMECxgAIAAgASACIAMgBCAFQQAoAsThEBCzBAsYACAAIAEgAiADIAQgBUEAKALI4RAQswQLGAAgACABIAIgAyAEIAVBACgCzOEQELMECxgAIAAgASACIAMgBCAFQQAoAtDhEBCzBAsYACAAIAEgAiADIAQgBUEAKALU4RAQswQLYAECfyMAQZADayIEJAAgBEEQaiIFIAJB8AL8CgAAIAQgAzYCgAMgBCABNgIEIAQgADYCACAEQQA2AoQDIARBACgC2OEQIgI2AogDIAAgASAFIAMgAhDEBCAEQZADaiQAC3IBAX8jAEGAA2siBSQAIAUgAkHwAvwKAAAgBSADNgL4AiAFIAE2AvQCIAUgADYC8AICQAJAAkACQCAEIAVBgAMQtAIOBAADAQIACyAFQYADaiQADwtB+JEQQSIQEQALQd2REEEaEBEAC0HCkRBBGhARAAtgAQJ/IwBBkANrIgQkACAEQRBqIgUgAkHwAvwKAAAgBCADNgKAAyAEIAE2AgQgBCAANgIAIARBADYChAMgBEEAKALc4RAiAjYCiAMgACABIAUgAyACEMQEIARBkANqJAALYAECfyMAQZAD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CyABQYOABGpBEHYQmAUhBQwBCwJAIAdBtOQQaiIBKAIAIgJB//8DcQ0AQQEQmAUiAkUNASABIAIgBmo2AgAgAiEFDAELIAEgAiAGajYCACACIQULIARBEGokACAFC1YBAn8CQEIBQSAgAEF/amdrrUL//wODhqciAWhBAnRB6OQQaiICKAIAIgBFDQAgAiABQRB0IABqQXxqKAIANgIAIAAPC0EAIAFAACIAQRB0IABBf0YbC9UBAQJ/IwBBEGsiBiQAIAYgA0EfcToAD0F/IARBBGoiByAHIARJGyIEQQEgA3QiAyAEIANLGyEEAkACQAJAQgFBICACQQRqIgIgAyACIANLGyIDQX9qZ2utQv//A4OGpyICaEF9akEMSw0AIARBf2pnIgMNAUEAIQMMAgtCAUEgIANBg4AEakEQdkF/amdrrUL//wODhqdCAUEgIARBg4AEakEQdkF/amdrrUL//wODhqdGIQMMAQsgAkIBQSAgA2utQv//A4OGp0YhAwsgBkEQaiQAIAMLGQAgAUEAIAQgBCACIAMgBCAEEJkFQQFxGwu2AQECfyMAQRBrIgUkACAFIANBH3E6AA8CQAJAQgFBICACQQRqIgJBASADdCIDIAIgA0sbIgNBf2pna61C//8Dg4anIgJoQX1qIgZBDU8NACAGQQJ0QYDkEGohAyABIAJqQXxqIQIMAQtCAUEgIANBg4AEakEQdkF/amdrrUL//wODhqciAmhBAnRB6OQQaiEDIAEgAkEQdGpBfGohAgsgAiADKAIANgIAIAMgATYCACAFQRBqJAALVgEBfgJAAkAgA0E/TA0AIAEgA0E/ca2GIQJCACEBDAELIANFDQAgAiADQT9xrSIEhiABQQAgA2tBP3GtiIQhAiABIASGIQELIAAgATcDACAAIAI3AwgLVgEBfgJAAkAgA0E/TA0AIAIgA0E/ca2IIQFCACECDAELIANFDQAgAkEAIANrQT9xrYYgASADQT9xrSIEiIQhASACIASIIQILIAAgATcDACAAIAI3AwgLdQEBfiAAIAQgAX4gAiADfnwgA0IgiCICIAFCIIgiBH58IANC/////w+DIgMgAUL/////D4MiAX4iBUIgiCADIAR+fCIDQiCIfCADQv////8PgyACIAF+fCIBQiCIfDcDCCAAIAFCIIYgBUL/////D4OENwMAC/ICAgJ/A34jAEEgayIGJAACQAJAAkACQCADIAFYIAQgAlggBCACURsNACAFRQ0BIAUgATcDACAFIAI3AwgMAQsCQCAEUA0AIAYgAyAEIAR5pyACeadrIgdB/wBxEJwFIAdBAWpB/wBxIQcgBkEIaikDACEEQgAhCCAGKQMAIQMCQANAIAdFDQEgAiAEIAJCf4V8IAMgAUJ/hXwgA1StfCIJQj+HIgogBIN9IAEgCiADgyIKVK19IQIgA0IBiCAEQj+GhCEDIAhCAYYgCUI/iIQhCCABIAp9IQEgB0F/aiEHIARCAYghBAwACwsgBUUNAiAFIAE3AwAgBSACNwMIDAILQgAhBCAGQgA3AxgCQCACIANUDQAgAiACIAOAIgQgA359IQILIAIgASADIAZBEGoQoAUhCCAFRQ0CIAUgBikDEDcDACAFIAZBGGopAwA3AwgMAgtCACEIC0IAIQQLIAAgCDcDACAAIAQ3AwggBkEgaiQAC5YCAQZ+AkAgAnkiBEI/gyIFQgBRDQAgACAFhiABQgAgBH2IhCEAIAEgBYYhASACIAWGIQILIAAgACACQiCIIgaAIgQgBn59IQcgAUL/////D4MhCCABQiCIIQEgAkL/////D4MhCQJAA0ACQCAEQv////8PVg0AIAQgCX4gB0IghiABhFgNAgsgBEJ/fCEEIAcgBnwiB0L/////D1gNAAsLIABCIIYgAYQgBCACfn0iACAAIAaAIgcgBn59IQECQANAAkAgB0L/////D1YNACAHIAl+IAFCIIYgCIRYDQILIAdCf3whByABIAZ8IgFCgICAgBBUDQALCyADIABCIIYgCIQgByACfn0gBYg3AwAgByAEQiCGfAs+AQF/IwBBEGsiBSQAIAUgASACIAMgBEEAEJ8FIAUpAwAhBCAAIAVBCGopAwA3AwggACAENwMAIAVBEGokAAujAgEEfwJAAkAgACAAXA0AIAC8IgJB/////wdxQYCAgPwHTw0AIAJBgICAgHhxIQNBCCACQQF0IgRnayAEQRh2IARBgICACEkbIQQCQCABQQBIDQACQEH+ASAEayABTg0AIANBgICA/Adyvg8LAkAgBCABaiIFQQBKDQAgAiABdCADcr4PCwJAIARBAEoNACACQQEgBGt0Qf///wNxIAVBF3RyIANyvg8LIAFBF3QgAmq+DwtBACAEayABSA0BAkBBaSAEayABTA0AIAO+DwsgBEEASkEXdCACQf///wNxckEAIAFrIgVBASAEIAFqayIBIAUgAUgbQX9qIgF2QQFqQQF2IAJoIAFBH3FGQX9zcSADcr4hAAsgAA8LIAFBF3QgAmq+C8kBAwF/AX4Cf0EAIQICQAJAAkAgAb0iA0I0iKciBEH/D3EiBUUNACAFQf8PRw0BDAILIANC/////////weDUA0BIANCgICAgICAgICAf4NCACADIANCDIZ5pyICQQFqrYZC/////////weDIAJBP3FBMksbhEKAgICAgICA8D+EIQNBgnggAmshAgwBCyADQv////////+HgH+DQoCAgICAgIDwP4QhAyAEQf8PcUGCeGohAgsgAEEANgIMIAAgAjYCCCAAIAM3AwAL1AICA34CfwJAAkAgACAAYg0AIAC9IgJC////////////AINCgICAgICAgPj/AFoNACACQoCAgICAgICAgH+DIQNBCyACQgGGIgR5p2sgBEI1iKcgBEKAgICAgICAEFQbIQUCQCABQQBIDQACQEH+DyAFayABTg0AIANCgICAgICAgPj/AIS/DwsCQCAFIAFqIgZBAEoNACACIAFBP3GthiADhL8PCwJAIAVBAEoNACACQQEgBWuthkL/////////B4MgBq1CNIaEIAOEvw8LIAGtQjSGIAJ8vw8LQQAgAWshBkEAIAVrIAFIDQECQEFMIAVrIAFMDQAgA78PCyAFQQBKrUI0hiACQv////////8Hg4QgBkEBIAUgAWprIgEgBiABSBtBf2pBP3GtIgSIQgF8QgGIIAJ6IARRrUJ/hYMgA4S/IQALIAAPCyACIAatQjSGfb8LJwACQCAAIABcDQACQCABIAFbDQAgAA8LIAEgACAAIAFdGyEBCyABC2gCAX4BfwJAAkAgAL1C////////////AIMiAUI0iKciAkH/D0YNACACDQECQCABUEUNAEGAgICAeA8LQY14IAF5p2sPC0GAgICAeEH/////ByABQoCAgICAgID4/wBWGw8LIAJBgXhqC54DAwN/AX0BfCMAQRBrIgEkAAJAAkAgALwiAkH/////B3EiA0Han6T6A0sNAEMAAIA/IQQgA0GAgIDMA0kNASAAuxCoBSEEDAELAkACQAJAAkAgA0HSp+2DBEkNACADQdbjiIcETw0C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ASAPmiAPIBobOQMICyAFQbAEaiQAIBlBB3EPCyAJIA8gBygCALeiOQMAIAdBfGohByAJQXhqIQkgCEF/aiEIIA9EAAAAAAAAcD6iIQ8MAAsLIAVBkANqIAlBA3RqIA85AwAgCkEIaiEKIAlBAWohCQwACwsgAiAPOQMAIAJBCGohAiAIQX9qIQggCUEEaiEJIAdBAWohBwwACwvSAgIDfwN9AkACQCAAIABcDQAgALwiAUEfdiECAkACQAJAAkACQAJAAkAgAUH/////B3EiA0HP2LqVBEsNACADQZjkxfUDTQ0BIANBkquU/ANNDQIMBAsgA0GAgID8B0sNBgJAIAFBAEgNACADQZjkxZUESQ0AIABDAAAAf5QPCyABQX9KDQNDAAAAACEEIANBtOO/lgRLDQcMAwsgA0GAgIDIA00NAUEAIQNDAAAAACEFIAAhBAwECyACQQFzIAJrIQMMAgsgAEMAAIA/kg8LIABDO6q4P5QgAkECdEGo1hBqKgIAkvwAIQMLIAAgA7IiBEMAcjG/lJIiACAEQ46+vzWUIgWTIQQLIAAgBCAEIAQgBJQiBiAGQxVSNbuUQ4+qKj6SlJMiBpRDAAAAQCAGk5UgBZOSQwAAgD+SIQQgA0UNASAEIAMQogUPCyAAIQQLIAQLmAUDA38CfAF+IwBBMGsiAyQAAkACQAJAIAC9Qv///////////wCDQv/////////3/wBWDQAgAb1C////////////AINCgICAgICAgPj/AFQNAQsgACABoiACoCECDAELIAK9Qv///////////wCDQv/////////3/wBWDQACQAJAIABEAAAAAAAAAABhDQAgAUQAAAAAAAAAAGINAQsgACABoiACoCECDAELAkAgAkQAAAAAAAAAAGINACAAIAGiIQIMAQsgAyAAEKMFIAMrAwAhACADKAIIIQQgA0EQaiABEKMFIAMrAxAhASADKAIYIQUgA0EgaiACEKMFIAMrAyAhAgJAAkAgBSAEaiIEIAMoAihrIgVB6wBIDQAgAr1CgICAgICAgICAf4NCgICAgICAgAiEvyEGDAELIAJBACAFaxCkBSEGCyAAIABEAAAAAgAAoEGiIgIgACACoaAiAqEiByABIAFEAAAAAgAAoEGiIgAgASAAoaAiAKEiAaIgByAAoiACIAGioCIBIAIgAKIiAiACIAGgIgChoKAhAQJAIAAgBqAiAkQAAAAAAAAAAGINACACIAEgBBCkBaAhAgwBCwJAIAEgASAGIAIgAKEiB6EgACACIAehoaAiBqAiACAGoSIHoSAGIAAgB6GhoCIBRAAAAAAAAAAAYQ0AIAC9IginQQFxDQAgCEIBhCABvSAIhUI+iH2/IQALIAIgAKAhAQJAIAIQpgUgBGpBgnhODQAgACABIAKhIgahIAIgBiABoaCgIgJEAAAAAAAAAABhDQAgAb0iCEIBg1AgCEI0iKdB/w9xQQAgBGtHRg0AIAggAr0gCIVCPohCAoN9QgF8vyEBCyABIAQQpAUhAgsgA0EwaiQAIAILJwACQCAAIABcDQACQCABIAFbDQAgAA8LIAAgASAAIAFdGyEBCyABC4ICAgJ/An0CQAJAAkAgALwiAUGAgIAETg0AQwAAgP9DAADAfyAAQwAAAABbIgIbIQMgAg0CIAFBAEgNAiAAQwAAAEyUvCEBQeh+IQIMAQsgACEDIAFB////+wdLDQFBgX8hAkMAAAAAIQMgAUGAgID8A0YNAQsgAiABQY32qwJqIgFBF3ZqsiIDQ4BxMT+UIAFB////A3FB84nU+QNqvkMAAIC/kiIAIAND0fcXN5QgACAAQwAAAECSlSIDIAAgAEMAAAA/lJQiBCADIAOUIgAgACAAlCIAQ+7pkT6UQ6qqKj+SlCAAIABDJp54PpRDE87MPpKUkpKUkiAEk5KSIQMLIAMLmQMCA38BfCMAQRBrIgEkAAJAAkAgALwiAkH/////B3EiA0Han6T6A0sNACADQYCAgMwDSQ0BIAC7EKkFIQAMAQsCQAJAAkACQCADQdKn7YMESQ0AIANB1uOIhwRPDQMgALshBCADQeDbv4UETw0BIAJBf0oNAiAERNIhM3982RJAoBCoBSEADAQLIAC7IQQCQCADQeSX24AESQ0ARBgtRFT7IQnARBgtRFT7IQlAIAJBf0obIASgmhCpBSEADAQLAkAgAkF/Sg0AIAREGC1EVPsh+T+gEKgFjCEADAQLIAREGC1EVPsh+b+gEKgFIQAMAwtEGC1EVPshGcBEGC1EVPshGUAgAkF/ShsgBKAQqQUhAAwCCyAERNIhM3982RLAoBCoBYwhAAwBCwJAIANB////+wdLDQAgACABQQhqEKoFIQMgASsDCCEEAkACQAJAAkAgA0EDcQ4EAAECAwALIAQQqQUhAAwECyAEEKgFIQAMAwsgBJoQqQUhAAwCCyAEEKgFjCEADAELIAAgAJMhAAsgAUEQaiQAIAALC7BXAgBBgIAQC7BWdgAAAHcAAAB4AAAAeQAAAHsgLi4uIH0AewBvcGFjaXR5AE91dE9mTWVtb3J5AG1heF95AG1pbl95AHNoYXBlcy5ib3VuZGluZ19ib3guQm91bmRpbmdCb3gAaW1hZ2VzLlBpY2tWZXJ0ZXgAaW5kZXgAbWF4X3gAbWluX3gAcmVuZGVyRHJhdwB2AHUAdGV4dABUZXh0AGRpc3Rfc3RhcnQAc2VsZWN0aW9uX3N0YXJ0AHNsb3QAc3RvcHNfY291bnQAU2VsZWN0ZWQgc2hhcGUgYXNzZXQgc2hvdWxkIGJlIHByZXNlbnQgYXQgdGhpcyBwb2ludAB0b1BvaW50AHR5cGVzLlBvaW50AGNvbnRlbnQAdXBkYXRlVGV4dENvbnRlbnQAaW1wb3J0VWlFbGVtZW50AGluZGV4LlBsYWNlbWVudABzZGYuc2RmLlVuaWZvcm1MaW5lYXJHcmFkaWVudABzZGYuZmlsbC5TZXJpYWxpemVkTGluZWFyR3JhZGllbnQAc2RmLmZpbGwuTGluZWFyR3JhZGllbnQAc2RmLnNkZi5Vbmlmb3JtUmFkaWFsR3JhZGllbnQAc2RmLmZpbGwuU2VyaWFsaXplZFJhZGlhbEdyYWRpZW50AHNkZi5maWxsLlJhZGlhbEdyYWRpZW50AHRleHRzLnRleHRzLkNvbXB1dGVUZXh0UmVzdWx0AGhlaWdodAByZW1vdmVBc3NldABvZmZzZXQAYml0T2Zmc2V0AGFzc2V0X3Byb3BzLlNlcmlhbGl6ZWRTZGZFZmZlY3QAc2RmLnNkZi5FZmZlY3QAcmFkaXVzAHBvaW50cwByZXNldEFzc2V0cwBzZGZfZWZmZWN0cwB0b2dnbGVTaGFyZWRUZXh0RWZmZWN0cwBzdG9wcwBwcm9wcwBzZXRTZWxlY3RlZEFzc2V0UHJvcHMAYXNzZXRfcHJvcHMuU2VyaWFsaXplZFByb3BzAGNvbm5lY3RXZWJHcHVQcm9ncmFtcwBpbmRleC5XZWJHcHVQcm9ncmFtcwBGYWlsZWQgdG8gcmV0cmlldmUgc3RvcmVkIGNoYXJhY3RlciBkZXRhaWxzAHRleHRzLmZvbnRzLlNlcmlhbGl6ZWRDaGFyRGV0YWlscwBjb25uZWN0Q2FjaGVDYWxsYmFja3MAcGF0aHMAc2V0UGF0aHMAZmxhZ3MAY29tcHV0ZVNkZnMAY29ubmVjdFNlbGVjdGVkQXNzZXRVcGRhdGVzAGNvbW1pdENoYW5nZXMAYm91bmRzAHNldFNlbGVjdGVkQXNzZXRCb3VuZHMAZHJhd19ibHVyAGdhdXNzaWFuQmx1cgBjb2xvcgBjZW50ZXIAZmlsdGVyAGFzc2V0X3Byb3BzLkZpbHRlcgBsaW5lYXIAc2RmLnNkZi5Vbmlmb3JtR3JhZGllbnRTdG9wAHNkZi5maWxsLkdyYWRpZW50U3RvcABvblBvaW50ZXJVcAByYWRpdXNfcmF0aW8AYW5nbGVUbwBvblBvaW50ZXJEb3duAHNldENhcmV0UG9zaXRpb24AZGVzdGluYXRpb24AYWRkU2hhcGVCZWdpbgBhbGlnbgBuYW4Ac2RmLnNkZi5EcmF3VW5pZm9ybQBzaGFwZXMuc2hhcGVzLlBpY2tVbmlmb3JtAHNldFRvb2wAaW5kZXguVG9vbABmaWxsAHNkZi5maWxsLlNlcmlhbGl6ZWRGaWxsAHNkZi5maWxsLkZpbGwAcmV0dmFsAHJhZGlhbAB0aWNrAG9uUG9pbnRlckRvdWJsZUNsaWNrAHJlbmRlclBpY2sAb25VcGRhdGVQaWNrAFRleHRDYWxsYmFjawBjb25uZWN0T25Bc3NldFNlbGVjdGlvbkNhbGxiYWNrAG9uVXBkYXRlVG9vbENhbGxiYWNrAGNvbm5lY3RPbkFzc2V0VXBkYXRlQ2FsbGJhY2sAbGVuZ3RoAHdpZHRoAGFkZFNoYXBlRmluaXNoAGNvbm5lY3RUeXBpbmcAcGFkZGluZwBpbWcAaW5mAFV0ZjhDYW5ub3RFbmNvZGVTdXJyb2dhdGVIYWxmAGRpZmYAY2xlYXJfc2RmAGNvbWJpbmVfc2RmAGdlbmVyYXRlVWlFbGVtZW50c1NkZgBmb250X3NpemUAYml0U2l6ZQBieXRlU2l6ZQBvblBvaW50ZXJNb3ZlAG9uUG9pbnRlckxlYXZlAGRlaW5pdFN0YXRlAGRyYXdfdGV4dHVyZQBwaWNrX3RleHR1cmUAY29ubmVjdENyZWF0ZVNkZlRleHR1cmUAc3RydWN0dXJlAHNpZ25hdHVyZQBjb21wYXJlAHR5cGUAZHJhd19zaGFwZQBwaWNrX3NoYXBlAGNvbXB1dGVfc2hhcGUARHJhd1NoYXBlAEVkaXRTaGFwZQBhZGRTaGFwZQBOb25lAG5hbWUAZHJhd190cmlhbmdsZQBwaWNrX3RyaWFuZ2xlAE1hdHJpeCBub3QgaW52ZXJ0aWJsZQB1cGRhdGVSZW5kZXJTY2FsZQB1cGRhdGVDYWNoZQBDb2RlcG9pbnRUb29MYXJnZQBhZGRJbWFnZQB0cmlhbmdsZXMuRHJhd0luc3RhbmNlAHRyaWFuZ2xlcy5QaWNrSW5zdGFuY2UAZGlzdGFuY2UARm9udCBJRCBub3QgZm91bmQAZGlzdF9lbmQAc2VsZWN0aW9uX2VuZABtaWQAc29saWQAc2RmLnNkZi5Vbmlmb3JtU29saWQAc2RmX3RleHR1cmVfaWQAY2FjaGVfdGV4dHVyZV9pZAB0eXBlcy5Bc3NldFNlcmlhbGl6ZWQAdGV4dHMudGV4dHMuU2VyaWFsaXplZABzaGFwZXMuc2hhcGVzLlNlcmlhbGl6ZWQAaW1hZ2VzLlNlcmlhbGl6ZWQAdXBkYXRlVGV4dENvbnRlbnQgY2FsbGVkIGJ1dCBubyB0ZXh0IGFzc2V0IHNlbGVjdGVkAEphdmFTY3JpcHQgZnVuY3Rpb24gZmFpbGVkAE11bHRpdGhyZWFkaW5nIG5vdCBlbmFibGVkAFByb21pc2UgZW5jb3VudGVyZWQgaW4gbWFpbiB0aHJlYWQAdHlwZXMuUG9pbnRVVgBBU1NFVF9JRF9NSU4ASABJbnZhbGlkVXRmOAA1ADQAMwBwMgBwMQBwMAB7IC4ALCAuAChmbG9hdCkAYXJyYXlfbGlzdC5BcnJheUxpc3RBbGlnbmVkKHNkZi5maWxsLkdyYWRpZW50U3RvcCxudWxsKQBBdHRlbXB0aW5nIHRvIGFkZCBwb2ludCB0byBhbHJlYWR5IGNsb3NlZCBwYXRoIQBTREYgZWZmZWN0IGRpc3RfZW5kIGNhbm5vdCBiZSBpbmZpbml0ZSEAZ2V0UmVsYXRpdmVQb2ludHMgd2FzIGNhbGxlZCBidXQgdGhlIHNoYXBlIHNkZiB3YXMgbm90IG1hcmtlZCBhcyBvdXRk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ZVVWVUVARVRRQRVAVZFVVVVVQFEFAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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"),e=new Uint8Array(A.length);for(let t=0;t<A.length;t++)e[t]=A.charCodeAt(t);return await new Promise((A=>setTimeout(A,0))),e.buffer})();_I.loadModule(VI,{memoryInitial:5,tableInitial:482,multithreaded:!1}),_I.linkVariables(!1);const{constructor:WI}=HI,XI=_I.getSpecialExports(),{connectWebGpuPrograms:jI,connectOnAssetUpdateCallback:ZI,connectOnAssetSelectionCallback:$I,connectCreateSdfTexture:AC,onUpdateToolCallback:eC,SerializedCharDetails:tC,TextCallback:iC,connectTyping:nC,connectCacheCallbacks:rC,connectSelectedAssetUpdates:sC,ASSET_ID_MIN:aC,initState:oC,updateRenderScale:gC,addImage:IC,addShape:CC,removeAsset:QC,onUpdatePick:cC,addShapeBegin:BC,addShapeFinish:lC,updateTextContent:uC,onPointerDown:EC,onPointerUp:fC,onPointerMove:hC,onPointerDoubleClick:pC,onPointerLeave:yC,commitChanges:dC,computeSdfs:mC,updateCache:bC,setCaretPosition:DC,renderDraw:SC,renderPick:wC,resetAssets:vC,deinitState:kC,importUiElement:xC,generateUiElementsSdf:GC,setTool:NC,tick:UC,setSelectedAssetProps:FC,setSelectedAssetBounds:MC,toggleSharedTextEffects:RC}=WI;await XI.init(),i()}catch(A){i(A)}}),1)},191:(A,e,t)=>{A.exports=t.p+"40dc20eab8f7c9f3.ttf"},2804:A=>{A.exports='<svg width="100%" height="100%" viewBox="0 0 417 417" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/">\n <path d="M314.628,297.396C332.174,273.76 342.561,244.497 342.561,212.827C342.561,143.329 292.564,85.41 226.6,73.137C216.426,71.244 209.703,61.447 211.596,51.274C213.489,41.1 223.286,34.377 233.459,36.27C316.841,51.784 380.061,124.978 380.061,212.827C380.061,253.008 366.839,290.126 344.51,320.06L391.536,320.06C403.034,320.06 412.369,329.395 412.369,340.893C412.369,352.391 403.034,361.727 391.536,361.727L293.794,361.727C282.288,361.727 272.961,352.399 272.961,340.893L272.961,243.151C272.961,231.653 282.296,222.318 293.794,222.318C305.293,222.318 314.628,231.653 314.628,243.151L314.628,297.396ZM67.746,91.893L23.592,91.893C12.093,91.893 2.758,82.558 2.758,71.059C2.758,59.561 12.093,50.226 23.592,50.226L121.333,50.226C132.839,50.226 142.167,59.554 142.167,71.059L142.167,168.801C142.167,180.299 132.832,189.635 121.333,189.635C109.835,189.635 100.5,180.299 100.5,168.801L100.5,111.903C74.501,137.66 58.384,173.375 58.384,212.827C58.384,282.095 108.051,339.86 173.69,352.393C183.855,354.334 190.531,364.163 188.59,374.327C186.649,384.492 176.821,391.169 166.656,389.228C83.685,373.385 20.884,300.385 20.884,212.827C20.884,166.265 38.638,123.815 67.746,91.893Z"/>\n</svg>\n'},7256:()=>{},1285:(A,e,t)=>{var i=t(1388),n=t(6560),r=(t(4540),t(8e3));(0,n.co)({init(){this.accessorCache=new Map},getAccessor(A,e){const{type:t,bitSize:n,bitOffset:s,byteSize:a}=e,o=[],g=void 0===a&&(7&n||7&s);g&&o.push("Unaligned");let I=i.hQ[t];n>32&&(t===i.Z9.Int||t===i.Z9.Uint)&&(I=n<=64?`Big${I}`:`Jumbo${I}`),o.push(I,`${t===i.Z9.Bool&&a?8*a:n}`),g&&o.push(`@${s}`);const C=A+o.join("");let Q=DataView.prototype[C];if(Q)return Q;if(Q=this.accessorCache.get(C),Q)return Q;for(;o.length>0;){const t=`getAccessor${o.join("")}`;if(Q=this[t]?.(A,e))break;o.pop()}if(!Q)throw new Error(`No accessor available: ${C}`);return(0,r.n8)(Q,"name",(0,r.vQ)(C)),this.accessorCache.set(C,Q),Q}})},9592:(A,e,t)=>{var i=t(1388);(0,t(6560).co)({getAccessorBool(A,e){const{byteSize:t}=e,n=8*t,r=this.getAccessor(A,{type:i.Z9.Uint,bitSize:n,byteSize:t});if("get"===A)return function(A,e){return!!r.call(this,A,e)};{const A=n<=32?0:0n,e=n<=32?1:1n;return function(t,i,n){r.call(this,t,i?e:A,n)}}}})},5239:(A,e,t)=>{var i=t(1388);(0,t(6560).co)({getAccessorInt(A,e){const{bitSize:t,byteSize:n}=e;if(n){const e=this.getAccessor(A,{type:i.Z9.Uint,bitSize:8*n,byteSize:n}),r=2**(t-1),s=r-1;return"get"===A?function(A,t){const i=e.call(this,A,t);return(i&s)-(i&r)}:function(A,t,i){const n=t<0?r|t&s:t&s;e.call(this,A,n,i)}}}})},2148:(A,e,t)=>{(0,t(6560).co)({getAccessorUint(A,e){const{bitSize:t,byteSize:i}=e;if(i){const n=this.getAccessor(A,{...e,bitSize:8*i}),r=2**t-1;return"get"===A?function(A,e){return n.call(this,A,e)&r}:function(A,e,t){const i=e&r;n.call(this,A,i,t)}}}})},1388:(A,e,t)=>{t.d(e,{AD:()=>s,EK:()=>n,F7:()=>y,M_:()=>g,Nt:()=>C,Q6:()=>I,Q9:()=>p,UT:()=>Q,Z9:()=>E,Zm:()=>B,e2:()=>u,ev:()=>i,hQ:()=>f,pK:()=>h,sU:()=>o,sl:()=>l,tv:()=>c,uE:()=>a,yi:()=>r});const i={Primitive:0,Array:1,Struct:2,Union:3,ErrorUnion:4,ErrorSet:5,Enum:6,Optional:7,Pointer:8,Slice:9,Vector:10,Opaque:11,ArgStruct:12,VariadicStruct:13,Function:14},n=Object.keys(i),r={HasValue:1,HasObject:2,HasPointer:4,HasSlot:8},s={IsSize:16},a={HasSentinel:16,IsString:32,IsTypedArray:64,IsClampedArray:128},o={IsExtern:16,IsPacked:32,IsIterator:64,IsTuple:128,IsAllocator:256,IsPromise:512,IsGenerator:1024,IsAbortSignal:2048,IsOptional:4096,IsReader:8192,IsWriter:16384},g={HasSelector:16,HasTag:32,HasInaccessible:64,IsExtern:128,IsPacked:256,IsIterator:512},I={IsOpenEnded:16,IsIterator:32},C={HasSelector:16},Q={HasLength:16,IsMultiple:32,IsSingle:64,IsConst:128,IsNullable:256},c={HasSentinel:16,IsString:32,IsTypedArray:64,IsClampedArray:128,IsOpaque:256},B={IsGlobal:16},l={IsTypedArray:16,IsClampedArray:32},u={HasOptions:16,IsThrowing:32,IsAsync:64},E={Void:0,Bool:1,Int:2,Uint:3,Float:4,Object:5,Type:6,Literal:7,Null:8,Undefined:9,Unsupported:10},f=Object.keys(E),h={IsRequired:1,IsReadOnly:2,IsPartOfSet:4,IsSelector:8,IsMethod:16,IsSentinel:32,IsBackingInt:64,IsString:128},p={OK:0,Failure:1,Deadlock:2,Disabled:3},y={IsInactive:1,IsImmutable:2,IgnoreUncreated:4,IgnoreInactive:8,IgnoreArguments:16,IgnoreRetval:32}},6560:(A,e,t)=>{t.d(e,{NP:()=>s,co:()=>r});var i=t(8e3);const n={name:"",mixins:[]};function r(A){return n.mixins.includes(A)||n.mixins.push(A),A}function s(){return function(A,e){const t=[],n=function(){for(const A of t)A.call(this)},{prototype:r}=n;(0,i.n8)(n,"name",(0,i.vQ)(A));for(const A of e)for(let[e,n]of Object.entries(A))if("init"===e)t.push(n);else{if("function"==typeof n);else{let A=r[e];if(void 0!==A)if(A?.constructor===Object)n=Object.assign({...A},n);else if(A!==n)throw new Error(`Duplicate property: ${e}`)}(0,i.n8)(r,e,(0,i.vQ)(n))}return n}(n.name,n.mixins)}},4762:(A,e,t)=>{t.d(e,{BC:()=>s,BY:()=>G,FD:()=>V,G9:()=>w,Ho:()=>c,Jc:()=>K,L2:()=>f,O0:()=>a,Pd:()=>k,QB:()=>U,Qm:()=>S,SB:()=>y,UQ:()=>R,Uv:()=>v,V0:()=>P,Vp:()=>L,Y8:()=>h,Z6:()=>B,Zb:()=>I,_L:()=>p,_l:()=>M,a6:()=>_,b$:()=>x,ci:()=>o,ck:()=>J,d_:()=>T,iS:()=>C,if:()=>u,is:()=>E,it:()=>l,nz:()=>m,qG:()=>b,qx:()=>H,t7:()=>g,to:()=>Q,v2:()=>q,vp:()=>O,x1:()=>F,xH:()=>d,xp:()=>N,zy:()=>D});var i=t(1388),n=t(4540),r=t(8e3);Error;class s extends SyntaxError{constructor(A){super(`Cannot convert ${A} to an Int`)}}class a extends TypeError{constructor(){super("Unsupported")}}class o extends TypeError{constructor(A){const{name:e}=A;super(`An initializer must be provided to the constructor of ${e}, even when the intended value is undefined`)}}class g extends TypeError{constructor(A,e,t=null){const{name:n,type:r,byteSize:s}=A,a=e.byteLength,o=1!==s?"s":"";let g;g=r!==i.ev.Slice||t?`${n} has ${r===i.ev.Slice?t.length*s:s} byte${o}, received ${a}`:`${n} has elements that are ${s} byte${o} in length, received ${a}`,super(g)}}class I extends TypeError{constructor(A){const{type:e,byteSize:t,typedArray:n}=A,r=1!==t?"s":"",s=["ArrayBuffer","DataView"].map(X);let a;n&&s.push(X(n.name)),a=e===i.ev.Slice?`Expecting ${Z(s)} that can accommodate items ${t} byte${r} in length`:`Expecting ${Z(s)} that is ${t} byte${r} in length`,super(a)}}class C extends TypeError{constructor(A,e){const{name:t}=A;let i;i="number"==typeof e||"bigint"==typeof e?`Value given does not correspond to an item of enum ${t}: ${e}`:`Enum item of the type ${t} expected, received ${e}`,super(i)}}class Q extends TypeError{constructor(A,e){const{name:t}=A,i=typeof e;let n;"string"===i||"number"===i||V(e)?(V(e)&&(e=`{ error: ${JSON.stringify(e.error)} }`),n=`Error ${i} does not corresponds to any error in error set ${t}: ${e}`):n=`Error of the type ${t} expected, received ${e}`,super(n)}}class c extends TypeError{constructor(A){const{name:e}=A;super(`Error given is not a part of error set ${e}`)}}TypeError;class B extends TypeError{constructor(A){const{name:e}=A;super(`Only one property of ${e} can be given a value`)}}class l extends TypeError{constructor(A,e,t){super(`Accessing property ${e} when ${t} is active`)}}class u extends TypeError{constructor(A,e,t){const{name:i,instance:{members:n}}=A;super(`${i} needs an initializer for one of its union properties: ${n.slice(0,t?-1:void 0).map((A=>A.name)).join(", ")}`)}}class E extends TypeError{constructor(A,e,t){const{name:i}=A,n=[];if(Array.isArray(e))for(const A of e)n.push(X(A));else n.push(X(e));const r=W(t);super(`${i} expects ${Z(n)} as argument, received ${r}`)}}class f extends E{constructor(A,e,t=!1){const{instance:{members:[s]},type:a,constructor:o}=A,g=[],I=(0,r.BF)(s);if(I){let A;switch(s.structure?.type){case i.ev.Enum:A="enum item";break;case i.ev.ErrorSet:A="error";break;default:A=I}g.push(`array of ${A}s`)}else g.push("array of objects");o[n.pM]&&g.push(o[n.pM].name),a===i.ev.Slice&&t&&g.push("length"),super(A,g.join(" or "),e)}}class h extends TypeError{constructor(A,e,t){const{name:i,length:n,instance:{members:[r]}}=A,{structure:{constructor:s}}=r,{length:a,constructor:o}=t,g=e?.length??n,I=1!==g?"s":"";let C;C=o===s?"only a single one":o.child===s?`a slice/array that has ${a}`:`${a} initializer${a>1?"s":""}`,super(`${i} has ${g} element${I}, received ${C}`)}}class p extends TypeError{constructor(A,e){super(A<0?"Length of slice cannot be negative":`Length of slice can be ${e} or less, received ${A}`)}}class y extends TypeError{constructor(A,e){const{name:t}=A;super(`Missing initializers for ${t}: ${e.join(", ")}`)}}class d extends TypeError{constructor(A,e){const{name:t,instance:{members:i}}=A;let n;n=i.find((A=>A.name===e))?`Comptime value cannot be changed: ${e}`:`${t} does not have a property with that name: ${e}`,super(n)}}class m extends Error{constructor(A,e,t=!1){super();const i=i=>{e-=i;const n=1!=(A-=i)?"s":"",r=t?"at least ":"";this.message=`Expecting ${r}${A} argument${n}, received ${e}`,this.stack=Y(this.stack,"new Arg(")};i(0),(0,r.n8)(this,n.q6,{value:i,enumerable:!1})}}class b extends Error{constructor(){super("Undefined argument")}}class D extends TypeError{constructor(){super("Non-slice pointers can only be created with the help of the new operator")}}class S extends TypeError{constructor(){super("Casting to function is not allowed")}}class w extends TypeError{constructor(A,e){const{name:t}=A,{constructor:{name:i}}=e;super(`Conversion of ${i} to ${t} requires an explicit cast`)}}TypeError,TypeError;class v extends TypeError{constructor(A,e){super(`Unable to simultaneously align memory to ${e}-byte and ${A}-byte boundary`)}}TypeError;class k extends TypeError{constructor(A,e){const t=W(e);super(`Expected ${X(A)}, received ${t}`)}}class x extends TypeError{constructor(){super("Pointers within an untagged union are not accessible")}}class G extends TypeError{constructor(){super("Null pointer")}}class N extends TypeError{constructor(A){super(`Object has been freed already: ${A.constructor.name}`)}}class U extends TypeError{constructor(A,e){const{name:t}=A;let i;if(null!=e){const A=e instanceof Object&&e.constructor!==Object?`${e.constructor.name} object`:typeof e;i=`${j(A)} ${A}`}else i=e+"";super(`${t} cannot point to ${i}`)}}class F extends TypeError{constructor(){super("Pointers in Zig memory cannot point to garbage-collected object")}}TypeError;class M extends RangeError{constructor(A,e){const{name:t}=A;super(`Index exceeds the size of ${t??"array"}: ${e}`)}}class R extends TypeError{constructor(A){const{name:e}=A;super((void 0!==e?`Property ${e}`:"Element")+" can only be undefined")}}class L extends TypeError{constructor(A){const{name:e,structure:{name:t}}=A;super(`Unable to create ${t} as it is not situated on a byte boundary: ${e}`)}}class z extends TypeError{constructor(){super("Unable to modify read-only object")}}class J extends TypeError{constructor(A){const{name:e}=A;super(`${e} cannot point to a read-only object`)}}TypeError,TypeError,TypeError;class q extends TypeError{constructor(){super("Unexpected async generator")}}class O extends Error{constructor(A,e=0){if(A instanceof Error)return super(A.message),A.stack=Y(this.stack,e),A;super(A??"Error encountered in Zig code")}}class K extends O{constructor(A){super("Program exited"),this.code=A}}function T(A,e){const t=t=>{e-=t,A.message=`args[${e}]: ${A.message}`,A.stack=Y(A.stack,"new Arg(")};return t(0),(0,r.n8)(A,n.q6,{value:t,enumerable:!1}),A}function Y(A,e){if("string"==typeof A){const t=A.split("\n"),i=t.findIndex((A=>A.includes(e)));-1!==i&&(t.splice(1,i),A=t.join("\n"))}return A}function H(A,e,t){return t instanceof RangeError&&!(t instanceof M)&&(t=new M(A,e)),t}function P(){throw new z}function _(A){let e=A.replace(/_/g," ");try{e=e.replace(/(\p{Uppercase}+)(\p{Lowercase}*)/gu,((A,e,t)=>1===e.length?` ${e.toLocaleLowerCase()}${t}`:t?A:` ${e}`)).trimStart()}catch(A){}return e.charAt(0).toLocaleUpperCase()+e.substring(1)}function V(A){return"object"==typeof A&&"string"==typeof A.error&&1===Object.keys(A).length}function W(A){const e=typeof A;let t;return t="object"===e?A?Object.prototype.toString.call(A):"null":e,X(t)}function X(A){return`${j(A)} ${A}`}function j(A){return/^\W*[aeiou]/i.test(A)?"an":"a"}function Z(A,e="or"){const t=` ${e} `;return A.length>2?A.slice(0,-1).join(", ")+t+A[A.length-1]:A.join(t)}},4358:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4540);(0,n.co)({init(){this.variables=[]},getSpecialExports(){const A=A=>{if(void 0===A)throw new Error("Not a Zig type");return A};return{init:(...A)=>this.initialize?.(...A),abandon:()=>this.abandonModule?.(),connect:A=>this.consoleObject=A,sizeOf:e=>A(e?.[r.SK]),alignOf:e=>A(e?.[r.Ec]),typeOf:e=>s[A(e?.[r.ZE])]}},recreateStructures(A,e){Object.assign(this,e);const t=(A,e)=>{for(const[t,i]of Object.entries(e))A[t]=n(i);return A},i=A=>A.length?A.buffer:new ArrayBuffer(0),n=A=>{const{memory:e,structure:n,actual:s}=A;if(e){if(s)return s;{const{array:s,offset:a,length:o}=e,g=this.obtainView(i(s),a,o),{handle:I,const:C}=A,Q=n?.constructor,c=A.actual=Q.call(r.M0,g);return C&&this.makeReadOnly(c),A.slots&&t(c[r._f],A.slots),I&&this.variables.push({handle:I,object:c}),c}}return n},s=new Map;for(const e of A){for(const A of[e.instance,e.static])if(A.template){const{slots:e,memory:t,handle:n}=A.template,a=A.template={};if(t){const{array:A,offset:e,length:s}=t;a[r.Qy]=this.obtainView(i(A),e,s),n&&this.variables.push({handle:n,object:a})}if(e){const A=a[r._f]={};s.set(A,e)}}this.defineStructure(e)}for(const[A,e]of s)t(A,e);for(const e of A)this.finalizeStructure(e)}});const s=i.EK.map((A=>A.replace(/([a-z])([A-Z])/g,"$1 $2").toLowerCase()))},4828:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540);(0,n.co)({init(){this.jsFunctionThunkMap=new Map,this.jsFunctionCallerMap=new Map,this.jsFunctionControllerMap=new Map,this.jsFunctionIdMap=new WeakMap,this.jsFunctionNextId=1},getFunctionId(A){let e=this.jsFunctionIdMap.get(A);return void 0===e&&(e=this.jsFunctionNextId++,this.jsFunctionIdMap.set(A,e)),e},getFunctionThunk(A,e){const t=this.getFunctionId(A);let i=this.jsFunctionThunkMap.get(t);if(void 0===i){const A=this.getViewAddress(e[s.Qy]),n=this.createJsThunk(A,t);if(!n)throw new Error("Unable to create function thunk");i=this.obtainZigView(n,0),this.jsFunctionThunkMap.set(t,i),this.jsFunctionControllerMap.set(t,e)}return i},createInboundCaller(A,e){const t=this.getFunctionId(A);return this.jsFunctionCallerMap.set(t,((t,n)=>{let a=i.Q9.OK,o=!1;try{const g=e(t);if(s.g9 in g){g[s.g9]("reset");const A=this.startContext();this.updatePointerTargets(A,g,!0),this.updateShadowTargets(A),this.endContext()}const I=function(A){try{if(!(e[s.du]&&A instanceof Error))throw A;g[s.zg](A)}catch(e){a=i.Q9.Failure,console.error(A)}},C=function(A){try{g[s.zg](A)}catch(A){a=i.Q9.Failure,console.error(A)}};try{const e=A(...g),t=g.hasOwnProperty(s.zg);if("Promise"===e?.[Symbol.toStringTag])if(n||t){const A=e.then(C,I);n&&A.then((()=>this.finalizeAsyncCall(n,a))),o=!0,a=i.Q9.OK}else a=i.Q9.Deadlock;else if(e?.[Symbol.asyncIterator]){if(!g.hasOwnProperty(s.wg))throw new r.v2;this.pipeContents(e,g),a=i.Q9.OK}else null==e&&t||C(e)}catch(A){I(A)}}catch(A){console.error(A),a=i.Q9.Failure}return n&&!o&&this.finalizeAsyncCall(n,a),a})),function(...e){return A(...e)}},defineArgIterator(A){const e=this,t=A.filter((({structure:A})=>A.type===i.ev.Struct&&A.flags&i.sU.IsAllocator)).length;return{value(){let n,r=0,a=0,o=0;const g=[];for(const[I,{structure:C,type:Q}]of A.entries())try{let A,c,B=this[I];Q===i.Z9.Object&&B?.[s.Qy]?.[s.Dr]&&(B=new B.constructor(B)),C.type===i.ev.Struct&&(C.flags&i.sU.IsAllocator?(A=1===t?"allocator":"allocator"+ ++r,c=this[s.Gz]=B):C.flags&i.sU.IsPromise?(A="callback",1==++a&&(c=e.createPromiseCallback(this,B))):C.flags&i.sU.IsGenerator?(A="callback",1==++a&&(c=e.createGeneratorCallback(this,B))):C.flags&i.sU.IsAbortSignal&&(A="signal",1==++o&&(c=e.createInboundSignal(B)))),void 0!==A?void 0!==c&&(n||={},n[A]=c):g.push(B)}catch(A){g.push(A)}return n&&g.push(n),g[Symbol.iterator]()}}},handleJsCall(A,e,t,n=0){const r=this.obtainZigView(e,t,!1),s=this.jsFunctionCallerMap.get(A);return s?s(r,n):i.Q9.Failure},releaseFunction(A){const e=this.jsFunctionThunkMap.get(A),t=this.jsFunctionControllerMap.get(A);if(e&&t){const i=this.getViewAddress(t[s.Qy]),n=this.getViewAddress(e);this.destroyJsThunk(i,n),this.releaseZigView(e),A&&(this.jsFunctionThunkMap.delete(A),this.jsFunctionCallerMap.delete(A),this.jsFunctionControllerMap.delete(A))}},freeFunction(A){this.releaseFunction(this.getFunctionId(A))},exports:{handleJsCall:{argType:"iiii",returnType:"i"},releaseFunction:{argType:"i"}},imports:{createJsThunk:{argType:"ii",returnType:"i"},destroyJsThunk:{argType:"ii",returnType:"i"},finalizeAsyncCall:{argType:"ii"}}})},6973:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540);(0,n.co)({createOutboundCaller(A,e){const t=this,i=function(...n){if(!t.runThunk)return t.initPromise.then((()=>i(...n)));const a=new e(n,this?.[s.Gz]);try{return t.invokeThunk(A,i,a)}catch(A){if(A instanceof r.Jc&&0===A.code)return;throw A}};return i},copyArguments(A,e,t,n,a){let o=0,g=0,I=0;const C=A[s.Bl];for(const{type:s,structure:Q}of t){let t,c,B,l;if(Q.type===i.ev.Struct&&(Q.flags&i.sU.IsAllocator?t=(1==++I?n?.allocator??n?.allocator1:n?.[`allocator${I}`])??this.createDefaultAllocator(A,Q):Q.flags&i.sU.IsPromise?(c||=this.createPromise(Q,A,n?.callback),t=c):Q.flags&i.sU.IsGenerator?(B||=this.createGenerator(Q,A,n?.callback),t=B):Q.flags&i.sU.IsAbortSignal?(l||=this.createSignal(Q,n?.signal),t=l):Q.flags&i.sU.IsReader?t=this.createReader(e[g++]):Q.flags&i.sU.IsWriter&&(t=this.createWriter(e[g++]))),void 0===t&&(t=e[g++],void 0===t&&s!==i.Z9.Void))throw new r.qG;try{C[o++].call(A,t,a)}catch(A){throw(0,r.d_)(A,o-1)}}},invokeThunk(A,e,t){const i=this.startContext(),n=t[s.iw],a=this.getViewAddress(A[s.Qy]),o=this.getViewAddress(e[s.Qy]),g=s.vm in t,I=s.g9 in t;I&&this.updatePointerAddresses(i,t);const C=this.getShadowAddress(i,t,null,!1),Q=n?this.getShadowAddress(i,n):0;this.updateShadows(i);const c=()=>{this.updateShadowTargets(i),I&&this.updatePointerTargets(i,t),this.libc&&this.flushStdout?.(),this.flushConsole?.(),this.endContext()};if(g&&(t[s.vm]=c),!(n?this.runVariadicThunk(a,o,C,Q,n.length):this.runThunk(a,o,C)))throw c(),new r.vp;if(t[s.sF]?.(this.findShadowView(t[s.Qy])),g){let A=null;try{A=t.retval}catch(e){A=new r.vp(e,1)}return null!=A?(e[s.fM]&&A&&(A=A.string),t[s.zg](A)):e[s.fM]&&(t[s.fM]=!0),t[s.eR]??t[s._d]}c();try{const{retval:A}=t;return e[s.fM]&&A?A.string:A}catch(A){throw new r.vp(A,1)}},imports:{runThunk:{argType:"iii",returnType:"b"},runVariadicThunk:{argType:"iiiii",returnType:"b"}}})},2427:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4540),s=t(8e3);(0,n.co)({init(){const A={type:i.Z9.Int,bitSize:8,byteSize:1},e={type:i.Z9.Int,bitSize:16,byteSize:2},t={type:i.Z9.Int,bitSize:32,byteSize:4},n=this.getAccessor("get",A),r=this.getAccessor("set",A),a=this.getAccessor("get",e),o=this.getAccessor("set",e),g=this.getAccessor("get",t),I=this.getAccessor("set",t);this.copiers={0:s.Ie,1:function(A,e){r.call(A,0,n.call(e,0))},2:function(A,e){o.call(A,0,a.call(e,0,!0),!0)},4:function(A,e){I.call(A,0,g.call(e,0,!0),!0)},8:function(A,e){I.call(A,0,g.call(e,0,!0),!0),I.call(A,4,g.call(e,4,!0),!0)},16:function(A,e){I.call(A,0,g.call(e,0,!0),!0),I.call(A,4,g.call(e,4,!0),!0),I.call(A,8,g.call(e,8,!0),!0),I.call(A,12,g.call(e,12,!0),!0)},any:function(A,e){let t=0,i=A.byteLength;for(;t+4<=i;)I.call(A,t,g.call(e,t,!0),!0),t+=4;for(;t+1<=i;)r.call(A,t,n.call(e,t)),t++}},this.resetters={0:s.Ie,1:function(A,e){r.call(A,e,0)},2:function(A,e){o.call(A,e,0,!0)},4:function(A,e){I.call(A,e,0,!0)},8:function(A,e){I.call(A,e+0,0,!0),I.call(A,e+4,0,!0)},16:function(A,e){I.call(A,e+0,0,!0),I.call(A,e+4,0,!0),I.call(A,e+8,0,!0),I.call(A,e+12,0,!0)},any:function(A,e,t){let i=e;for(;i+4<=t;)I.call(A,i,0,!0),i+=4;for(;i+1<=t;)r.call(A,i,0),i++}}},defineCopier(A,e){const t=this.getCopyFunction(A,e);return{value(A){this[r.zN]?.(),A[r.zN]?.();const e=A[r.Qy],i=this[r.Qy];t(i,e)}}},defineResetter(A,e){const t=this.getResetFunction(e);return{value(){this[r.zN]?.();const i=this[r.Qy];t(i,A,e)}}},getCopyFunction(A,e=!1){return(e?void 0:this.copiers[A])??this.copiers.any},getResetFunction(A){return this.resetters[A]??this.resetters.any},...{defineRetvalCopier({byteSize:A,bitOffset:e}){if(A>0){const t=this,i=e>>3,n=this.getCopyFunction(A);return{value(e){const s=this[r.Qy],{address:a}=e[r.Dr],o=new DataView(t.memory.buffer,a+i,A),g=new DataView(s.buffer,s.byteOffset+i,A);n(g,o)}}}},copyExternBytes(A,e,t){const{memory:i}=this,n=new DataView(i.buffer,e,t);this.getCopyFunction(t)(A,n)}}})},1669:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762);(0,n.co)({addIntConversion:A=>function(e,t){const n=A.call(this,e,t),{flags:s,bitSize:a}=t;if("set"===e)return a>32?function(A,e,t){n.call(this,A,BigInt(e),t)}:function(A,e,t){const i=Number(e);if(!isFinite(i))throw new r.BC(e);n.call(this,A,i,t)};{const{flags:A}=t.structure;if(A&i.AD.IsSize&&a>32){const A=BigInt(Number.MAX_SAFE_INTEGER),e=BigInt(Number.MIN_SAFE_INTEGER);return function(t,i){const r=n.call(this,t,i);return e<=r&&r<=A?Number(r):r}}}return n}})},6929:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(4540),s=t(8e3);function a(A,e){return(0,s.ZG)(A,e,(A=>A.address))}(0,i.co)({init(){this.isMemoryMapping=!0,this.memoryList=[],this.contextCount=0},startContext(){return++this.contextCount,{shadowList:[]}},endContext(){if(0==--this.contextCount){for(const{shadowDV:A}of this.memoryList)A&&this.freeShadowMemory(A);this.memoryList.splice(0)}},getShadowAddress(A,e,t,i){const a=e[r.Qy];if(t){if(void 0===t.address){const{start:e,end:g,targets:I}=t;let C,Q=0;for(const A of I){const e=A[r.Qy],t=e.byteOffset,i=A.constructor[r.Ec]??e[r.Ec];(void 0===Q||i>Q)&&(Q=i,C=t)}const c=g-e,B=this.allocateShadowMemory(c+Q,1),l=this.getViewAddress(B),u=(0,s.hJ)((0,s.Au)(l,C-e),Q),E=(0,s.Au)(u,e-C);for(const A of I){const t=A[r.Qy],i=t.byteOffset;if(i!==C){const a=A.constructor[r.Ec]??t[r.Ec];if((0,s.on)((0,s.Au)(E,i-e),a))throw new n.Uv(a,Q)}}const f=B.byteOffset+Number(E-l),h=new DataView(B.buffer,f,c);h[r.Dr]={address:E,len:c,align:1,unalignedAddress:l,type:o.Scratch};const p=new DataView(a.buffer,Number(e),c),y=this.registerMemory(E,c,1,i,p,h);A.shadowList.push(y),t.address=E}return(0,s.Au)(t.address,a.byteOffset-t.start)}{const t=e.constructor[r.Ec]??a[r.Ec],n=a.byteLength,s=this.allocateShadowMemory(n,t),o=this.getViewAddress(s),g=this.registerMemory(o,n,1,i,a,s);return A.shadowList.push(g),o}},updateShadows(A){const e=this.getCopyFunction();for(let{targetDV:t,shadowDV:i}of A.shadowList)i=this.restoreView(i),e(i,t)},updateShadowTargets(A){const e=this.getCopyFunction();for(let{targetDV:t,shadowDV:i,writable:n}of A.shadowList)n&&(i=this.restoreView(i),e(t,i))},registerMemory(A,e,t,i,n,r){const s=a(this.memoryList,A);let o=this.memoryList[s-1];return o?.address===A&&o.len===e?o.writable||=i:(o={address:A,len:e,align:t,writable:i,targetDV:n,shadowDV:r},this.memoryList.splice(s,0,o)),o},unregisterMemory(A,e){const t=a(this.memoryList,A),i=this.memoryList[t-1];if(i?.address===A&&i.len===e)return this.memoryList.splice(t-1,1),i},findMemory(A,e,t,i){let n=t*(i??0);const o=a(this.memoryList,e),g=this.memoryList[o-1];let I;if(g?.address===e&&g.len===n)I=g.targetDV;else if(g?.address<=e&&(0,s.Au)(e,n)<=(0,s.Au)(g.address,g.len)){const A=Number(e-g.address),t=void 0===i,{targetDV:s}=g;t&&(n=s.byteLength-A),I=this.obtainView(s.buffer,s.byteOffset+A,n),t&&(I[r.Ec]=g.align)}if(I){let{targetDV:e,shadowDV:t}=g;t&&A&&!A.shadowList.includes(g)&&(t=this.restoreView(t),this.getCopyFunction()(e,t))}else I=this.obtainZigView(e,n);return I},findShadowView(A){for(const{shadowDV:e,targetDV:t}of this.memoryList)if(t===A)return e},releaseZigView(A){const e=A[r.Dr],t=e?.address;t&&t!==s.Y$&&(e.address=s.Y$)},getViewAddress(A){const e=A[r.Dr];if(e)return e.address;{const e=this.getBufferAddress(A.buffer);return(0,s.Au)(e,A.byteOffset)}},...{imports:{allocateScratchMemory:{argType:"ii",returnType:"i"},freeScratchMemory:{argType:"iii"}},exports:{getViewAddress:{argType:"v",returnType:"i"}},usizeMaxBuffer:new ArrayBuffer(0),allocateShadowMemory(A,e){const t=A?this.allocateScratchMemory(A,e):0;if(!t&&A)throw new Error("Out of memory");const i=this.obtainZigView(t,A),n=i?.[r.Dr];return n&&(n.align=e),i},freeShadowMemory(A){const{address:e,unalignedAddress:t,len:i,align:n}=A[r.Dr];i&&this.freeScratchMemory(t??e,i,n),this.releaseZigView(A)},obtainZigView(A,e,t=!0){if((0,s.cv)(A)&&(A=e>0?0:s.Fy),!A&&e)return null;let i,{buffer:n}=this.memory;return A===s.Fy&&(n=this.usizeMaxBuffer,A=s.$k,e=0),t?i=this.obtainView(n,A,e):(i=new DataView(n,A,e),i[r.Dr]={address:A,len:e}),i},getTargetAddress(A,e,t,i){const n=e[r.Qy];return n[r.Dr]?this.getViewAddress(n):0===n.byteLength?0:this.getShadowAddress(A,e,t,i)},getBufferAddress:A=>0}});const o={Normal:0,Scratch:1}},4936:(A,e,t)=>{var i=t(6560),n=t(8e3);(0,i.co)({init(){this.abandoned=!1,this.destructors=[],this.nextValueIndex=1,this.valueMap=new Map,this.valueIndices=new Map,this.options=null,this.executable=null,this.memory=null,this.table=null,this.initialTableLength=0,this.exportedFunctions=null},abandonModule(){if(!this.abandoned){for(const A of this.destructors.reverse())A();this.abandoned=!0}},...{imports:{initialize:{argType:""}},exports:{displayPanic:{argType:"ii"}},async initialize(A){this.setCustomWASI?.(A),await this.initPromise},getObjectIndex(A){if(null!=A){let e=this.valueIndices.get(A);return void 0===e&&(e=this.nextValueIndex++,this.valueIndices.set(A,e),this.valueMap.set(e,A)),e}return 0},fromWebAssembly(A,e){switch(A){case"v":case"s":return this.valueMap.get(e);case"i":return e;case"b":return!!e}},toWebAssembly(A,e){switch(A){case"v":case"s":return this.getObjectIndex(e);case"i":return e;case"b":return e?1:0}},exportFunction(A,e="",t="",i){return A?(...i)=>{i=i.map(((A,t)=>this.fromWebAssembly(e.charAt(t),A)));const n=A.apply(this,i);return this.toWebAssembly(t,n)}:()=>{}},importFunction(A,e="",t=""){return(...i)=>{i=i.map(((A,t)=>this.toWebAssembly(e.charAt(t),A)));const n=A.apply(this,i);return this.fromWebAssembly(t,n)}},exportFunctions(){const A={};for(const[e,{argType:t,returnType:i,alias:n}]of Object.entries(this.exports)){const r=this[n??e];r&&(A[`_${e}`]=this.exportFunction(r,t,i,e))}return A},importFunctions(A){for(const[e,{argType:t,returnType:i}]of Object.entries(this.imports)){const s=A[e];s&&((0,n.n8)(this,e,(0,n.vQ)(this.importFunction(s,t,i))),this.destructors.push((()=>this[e]=r)))}},async instantiateWebAssembly(A,e){const{memoryInitial:t,memoryMax:i,tableInitial:r,multithreaded:s}=this.options=e,a=await A,o="Response"===a[Symbol.toStringTag]?"Streaming":"",g=WebAssembly,I=g["compile"+o],C=this.executable=await I(a),Q=this.exportFunctions(),c={},B={},l={},u=this.exportedModules={env:c,wasi:B,wasi_snapshot_preview1:l};for(const{module:A,name:e,kind:t}of g.Module.imports(C))"function"===t&&("env"===A?c[e]=Q[e]??n.Ie:"wasi_snapshot_preview1"===A?l[e]=this.getWASIHandler(e):"wasi"===A&&(B[e]=this.getThreadHandler?.(e)??n.Ie));return this.memory=c.memory=new g.Memory({initial:t,maximum:i,shared:s}),this.table=c.__indirect_function_table=new g.Table({initial:r,element:"anyfunc",shared:s}),this.initialTableLength=r,g.instantiate(C,u)},loadModule(A,e){return this.initPromise=(async()=>{const t=await this.instantiateWebAssembly(A,e),{exports:i}=t;if(this.importFunctions(i),this.customWASI){const A={...i,memory:this.memory},e=new Proxy(t,{get:(e,t)=>"exports"===t?A:e[t]});this.customWASI.initialize?.(e)}this.initialize()})()},displayPanic(A,e){const t=new Uint8Array(this.memory.buffer,A,e),i=(0,n.g7)(t);console.error(`Zig panic: ${i}`)}}});const r=()=>{throw new Error("Module was abandoned")}},9268:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4540);(0,n.co)({linkVariables(A){if(!this.memory)return void(this.initPromise=this.initPromise.then((()=>this.linkVariables(A))));const e=this.getCopyFunction();for(const{object:t,handle:n}of this.variables){const s=t[r.Qy],a=n;let o=t[r.Qy]=this.obtainZigView(a,s.byteLength);A&&e(o,s),t.constructor[r.fV]?.save?.(o,t),this.destructors.push((()=>{o=this.restoreView(t[r.Qy]);const A=t[r.Qy]=this.allocateMemory(o.bytelength);e(A,o)}));const g=A=>{const e=A[r._f];if(e){const A=o.byteOffset;for(const t of Object.values(e))if(t){const e=t[r.Qy];if(e.buffer===s.buffer){const i=A+e.byteOffset-s.byteOffset;t[r.Qy]=this.obtainView(o.buffer,i,e.byteLength),t.constructor[r.fV]?.save?.(o,t),g(t)}}}};g(t),t[r.g9]?.((function(){this[r.q6]()}),i.F7.IgnoreInactive)}},imports:{recreateAddress:{argType:"i",returnType:"i"}}})},7409:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4540),s=t(8e3);(0,n.co)({updatePointerAddresses(A,e){const t=new Map,n=new Map,a=[],o=function(A){const e=this[r.C7];if(void 0===t.get(e)){const A=e[r._f][0];if(A){const i={target:A,writable:!e.constructor.const},g=A[r.Qy];if(g[r.Dr])t.set(e,null);else{t.set(e,A);const I=n.get(g.buffer);if(I){const A=Array.isArray(I)?I:[I],e=(0,s.ZG)(A,g.byteOffset,(A=>A.target[r.Qy].byteOffset));A.splice(e,0,i),Array.isArray(I)||(n.set(g.buffer,A),a.push(A))}else n.set(g.buffer,i);A[r.g9]?.(o,0)}}}},g=i.F7.IgnoreRetval|i.F7.IgnoreInactive;e[r.g9](o,g);const I=this.findTargetClusters(a),C=new Map;for(const A of I)for(const e of A.targets)C.set(e,A);for(const[e,i]of t)if(i){const t=C.get(i),n=t?.writable??!e.constructor.const;e[r.BD]=this.getTargetAddress(A,i,t,n),r.pi in e&&(e[r.pi]=i.length)}},updatePointerTargets(A,e,t=!1){const n=new Map,s=function(e){const t=this[r.C7];if(!n.get(t)){n.set(t,!0);const a=t[r._f][0],o=a&&e&i.F7.IsImmutable?a:t[r.q6](A,!0,!(e&i.F7.IsInactive)),g=t.constructor.const?i.F7.IsImmutable:0;g&i.F7.IsImmutable||a&&!a[r.Qy][r.Dr]&&a[r.g9]?.(s,g),o!==a&&o&&!o[r.Qy][r.Dr]&&o?.[r.g9]?.(s,g)}},a=t?i.F7.IgnoreRetval:0;e[r.g9](s,a)},findTargetClusters(A){const e=[];for(const t of A){let A=null,i=0,n=0,s=null;for(const{target:a,writable:o}of t){const t=a[r.Qy],{byteOffset:g,byteLength:I}=t,C=g+I;let Q=!0;A&&(n>g?(s?s.writable||=o:(s={targets:[A],start:i,end:n,address:void 0,misaligned:void 0,writable:o},e.push(s)),s.targets.push(a),C>n?s.end=C:Q=!1):s=null),Q&&(A=a,i=g,n=C)}}return e}})},3586:(A,e,t)=>{t(1388);var i=t(6560),n=t(8e3);(0,i.co)({init(){this.consoleObject=null,this.consolePending=[],this.consoleTimeout=0},writeToConsole(A){try{const e=new Uint8Array(A.buffer,A.byteOffset,A.byteLength).slice(),t=e.lastIndexOf(10);if(-1===t)this.consolePending.push(e);else{const A=e.subarray(0,t),i=e.subarray(t+1);this.writeToConsoleNow([...this.consolePending,A]),this.consolePending.splice(0),i.length>0&&this.consolePending.push(i)}return clearTimeout(this.consoleTimeout),this.consoleTimeout=0,this.consolePending.length>0&&(this.consoleTimeout=setTimeout((()=>{this.writeToConsoleNow(this.consolePending),this.consolePending.splice(0)}),250)),!0}catch(A){return console.error(A),!1}},writeToConsoleNow(A){const e=this.consoleObject??globalThis.console;e.log?.call?.(e,(0,n.g7)(A))},flushConsole(){this.consolePending.length>0&&(this.writeToConsoleNow(this.consolePending),this.consolePending.splice(0),clearTimeout(this.consoleTimeout))},imports:{flushStdout:{argType:"",returnType:""}}})},2436:(A,e,t)=>{var i=t(6560),n=t(8e3);(0,i.co)({...{exports:{allocateJsThunk:{argType:"ii",returnType:"i"},freeJsThunk:{argType:"ii",returnType:"i"}},init(){this.thunkSources=[],this.thunkMap=new Map},addJsThunkSource(){const{memoryInitial:A,memoryMax:e,tableInitial:t,multithreaded:i}=this.options,r=WebAssembly,s={},a={},o={env:s,wasi:{},wasi_snapshot_preview1:a};for(const{module:A,name:e,kind:t}of r.Module.imports(this.executable))"function"===t&&("env"===A?s[e]=n.Ie:"wasi_snapshot_preview1"===A&&(a[e]=n.Ie));s.memory=new r.Memory({initial:A,maximum:e,shared:i});const g=s.__indirect_function_table=new r.Table({initial:t,element:"anyfunc"}),{exports:I}=new r.Instance(this.executable,o),{createJsThunk:C,destroyJsThunk:Q}=I,c={thunkCount:0,createJsThunk:C,destroyJsThunk:Q,table:g};return this.thunkSources.unshift(c),c},allocateJsThunk(A,e){let t,i=0;for(t of this.thunkSources){i=t.createJsThunk(A,e);break}i||(t=this.addJsThunkSource(),i=t.createJsThunk(A,e));const n=t.table.get(i);let r=0;for(let A=this.table.length-1;A>=this.initialTableLength;A--)if(!this.table.get(A)){r=A;break}return r||(r=this.table.length,this.table.grow(8)),this.table.set(r,n),t.thunkCount++,this.thunkMap.set(n,{source:t,sourceAddress:i}),r},freeJsThunk(A,e){let t=0;const i=this.table.get(e);this.table.set(e,null);const n=this.thunkMap.get(i);if(n){const{source:e,sourceAddress:r}=n;if(t=e.destroyJsThunk(A,r),0==--e.thunkCount){const A=this.thunkSources.indexOf(e);-1!==A&&this.thunkSources.splice(A,1)}this.thunkMap.delete(i)}return t}}})},8738:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);function o(A,e){const{byteSize:t,type:n}=e;if(!(n===i.ev.Slice?A.byteLength%t==0:A.byteLength===t))throw new r.t7(e,A)}function g(A){throw new r.Zb(A)}(0,n.co)({init(){this.viewMap=new WeakMap},extractView(A,e,t=g){const{type:n,byteSize:I,constructor:C}=A;let Q;const c=e?.[Symbol.toStringTag];if(c&&("DataView"===c?Q=this.registerView(e):"ArrayBuffer"===c?Q=this.obtainView(e,0,e.byteLength):(c&&c===C[s.pM]?.name||"Uint8ClampedArray"===c&&C[s.pM]===Uint8Array)&&(Q=this.obtainView(e.buffer,e.byteOffset,e.byteLength))),!Q){const t=e?.[s.Qy];if(t){const{constructor:s,instance:{members:[o]}}=A;if((0,a.pU)(e,s))return t;if(function(A){return A===i.ev.Array||A===i.ev.Vector||A===i.ev.Slice}(n)){const{byteSize:s,structure:{constructor:g}}=o,C=(0,a.be)(e,g);if(void 0!==C){if(n===i.ev.Slice||C*s===I)return t;throw new r.Y8(A,null,e)}}}}return Q?void 0!==I&&o(Q,A):t?.(A,e),Q},assignView(A,e,t,n,a){const{byteSize:g,type:I}=t,C=g??1;if(A[s.Qy]){const n=I===i.ev.Slice?C*A.length:C;if(e.byteLength!==n)throw new r.t7(t,e,A);const a={[s.Qy]:e};A.constructor[s.fd]?.validateData?.(a,A.length),A[s.sF](a)}else{void 0!==g&&o(e,t);const i=e.byteLength/C,r={[s.Qy]:e};A.constructor[s.fd]?.validateData?.(r,i),a&&(n=!0),A[s.IW](n?null:e,i,a),n&&A[s.sF](r)}},findViewAt(A,e,t){let i,n=this.viewMap.get(A);if(n)if(n instanceof DataView)if(n.byteOffset===e&&n.byteLength===t)i=n,n=null;else{const e=n,t=`${e.byteOffset}:${e.byteLength}`;n=new Map([[t,e]]),this.viewMap.set(A,n)}else i=n.get(`${e}:${t}`);return i?.[s.Dr]?.address===a.Y$&&(i=null),{existing:i,entry:n}},obtainView(A,e,t){const{existing:i,entry:n}=this.findViewAt(A,e,t);let r;return i||(r=new DataView(A,e,t),n?n.set(`${e}:${t}`,r):this.viewMap.set(A,r),A!==this.memory?.buffer&&A!==this.usizeMaxBuffer||(r[s.Dr]={address:e,len:t}),r)},registerView(A){if(!A[s.Dr]){const{buffer:e,byteOffset:t,byteLength:i}=A,{existing:n,entry:r}=this.findViewAt(e,t,i);if(n)return n;r?r.set(`${t}:${i}`,A):this.viewMap.set(e,A)}return A},allocateMemory(A,e=0,t=null){return t?.alloc?.(A,e)??this.allocateJSMemory(A,e)},...{allocateJSMemory(A,e){return this.obtainView(new ArrayBuffer(A),0,A)},restoreView(A){const e=A?.[s.Dr];return e?.len>0&&0===A.buffer.byteLength&&(A=this.obtainZigView(e.address,e.len),e.align&&(A[s.Dr].align=e.align)),A},defineRestorer(){const A=this;return{value(){const e=this[s.Qy],t=A.restoreView(e);if(e!==t){const A=this[s.KK]??this;return A[s.Qy]=t,A.constructor[s.fV]?.save?.(t,A[s.rG]??A),!0}return!1}}}}})},9499:(A,e,t)=>{var i=t(6560),n=t(4762);(0,i.co)({...{init(){this.customWASI=null},setCustomWASI(A){if(A&&this.executable)throw new Error("Cannot set WASI interface after compilation has already begun");this.customWASI=A},getWASIHandler(A){const e=this.customWASI?.wasiImport?.[A];if(e)return e;switch(A){case"fd_write":return(A,e,t,i)=>{if(1===A||2===A){const A=new DataView(this.memory.buffer);let n=0;for(let i=0,r=e;i<t;i++,r+=8){const e=A.getUint32(r,!0),t=A.getUint32(r+4,!0);if(t>0){const A=new DataView(this.memory.buffer,e,t);this.writeToConsole(A),n+=t}}return A.setUint32(i,n,!0),0}return 38};case"fd_prestat_get":return()=>8;case"proc_exit":return A=>{throw new n.Jc(A)};case"random_get":return(A,e)=>{const t=new DataView(this.memory.buffer,A,e);for(let A=0;A<e;A++)t.setUint8(A,Math.floor(256*Math.random()));return 0};default:return()=>38}}}})},1432:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(4540);(0,i.co)({makeReadOnly(A){o(A)}});const s=Object.getOwnPropertyDescriptors,a=Object.defineProperty;function o(A){const e=A[r.C7];if(e)g(e,["length"]);else{const e=A[r.sO];e?(g(e),function(A){a(A,"set",{value:n.V0});const e=A.get;a(A,"get",{value:function(A){const t=e.call(this,A);return null===t?.[r.KK]&&o(t),t}})}(e)):g(A)}}function g(A,e=[]){const t=s(A.constructor.prototype);for(const[i,r]of Object.entries(t))r.set&&!e.includes(i)&&(r.set=n.V0,a(A,i,r));a(A,r.KK,{value:A})}},4773:(A,e,t)=>{t.d(e,{M:()=>n});var i=t(6560);function n(){return new((0,i.NP)())}},1454:(A,e,t)=>{var i=t(6560),n=t(4540),r=t(8e3);function s(){const A=this[n.sO]??this,e=this.length;let t=0;return{next(){let i,n;if(t<e){const e=t++;i=A.get(e),n=!1}else n=!0;return{value:i,done:n}}}}function a(A){const e=(0,r.L9)(A),t=this[n.sO]??this,i=this.length;let s=0;return{next(){let A,n;if(s<i){const i=s++;A=[i,e((()=>t.get(i)))],n=!1}else n=!0;return{value:A,done:n}}}}function o(A){return{[Symbol.iterator]:a.bind(this,A),length:this.length}}(0,i.co)({defineArrayEntries:()=>(0,r.vQ)(o),defineArrayIterator:()=>(0,r.vQ)(s)})},6402:(A,e,t)=>{var i=t(6560),n=t(4540),r=t(8e3);function s(A){return{[Symbol.iterator]:o.bind(this,A),length:this[n.n5].length}}function a(A){return s.call(this,A)[Symbol.iterator]()}function o(A){const e=(0,r.L9)(A),t=this,i=this[n.n5];let s=0;return{next(){let A,n;if(s<i.length){const r=i[s++];A=[r,e((()=>t[r]))],n=!1}else n=!0;return{value:A,done:n}}}}(0,i.co)({defineStructEntries:()=>(0,r.vQ)(s),defineStructIterator:()=>(0,r.vQ)(a)})},5940:(A,e,t)=>{var i=t(6560),n=t(4540),r=t(8e3);function s(A){return{[Symbol.iterator]:o.bind(this,A),length:this[n.n5].length}}function a(A){return s.call(this,A)[Symbol.iterator]()}function o(A){const e=(0,r.L9)(A),t=this,i=this[n.n5],s=this[n.XS];let a=0;return{next(){let A,n;if(a<i.length){const r=i[a++];A=[r,e((()=>s[r].call(t)))],n=!1}else n=!0;return{value:A,done:n}}}}(0,i.co)({defineUnionEntries:()=>(0,r.vQ)(s),defineUnionIterator:()=>(0,r.vQ)(a)})},804:(A,e,t)=>{var i=t(6560),n=t(8e3);function r(){const A=this,e=this.length;let t=0;return{next(){let i,n;if(t<e){const e=t++;i=A[e],n=!1}else n=!0;return{value:i,done:n}}}}function s(){const A=this,e=this.length;let t=0;return{next(){let i,n;if(t<e){const e=t++;i=[e,A[e]],n=!1}else n=!0;return{value:i,done:n}}}}function a(){return{[Symbol.iterator]:s.bind(this),length:this.length}}(0,i.co)({defineVectorEntries:()=>(0,n.vQ)(a),defineVectorIterator:()=>(0,n.vQ)(r)})},9098:(A,e,t)=>{t.d(e,{E:()=>n});var i=t(1388);function n(A,{get:e,set:t}){return void 0!==A?{get:function(){return e.call(this,A)},set:t?function(e,i){return t.call(this,A,e,i)}:void 0}:{get:e,set:t}}(0,t(6560).co)({defineMember(A,e=!0){if(!A)return{};const{type:t,structure:n}=A,r=this[`defineMember${i.hQ[t]}`].call(this,A);if(e&&n){const{type:e}=n,t=this[`transformDescriptor${i.EK[e]}`];if(t)return t.call(this,r,A)}return r}})},9494:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(8e3);(0,i.co)({defineBase64(A){const e=this;return(0,r.NV)({get(){return(0,r.WG)(this.dataView)},set(t,i){if("string"!=typeof t)throw new n.Pd("string",t);const s=(0,r.y4)(t);e.assignView(this,s,A,!1,i)}})}})},337:(A,e,t)=>{(0,t(6560).co)({defineMemberBool(A){return this.defineMemberUsing(A,this.getAccessor)}})},3971:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(8e3);(0,i.co)({defineClampedArray(A){const e=this,t=Uint8ClampedArray;return(0,r.NV)({get(){const A=this.typedArray;return new t(A.buffer,A.byteOffset,A.length)},set(i,r){if(i?.[Symbol.toStringTag]!==t.name)throw new n.Pd(t.name,i);const s=new DataView(i.buffer,i.byteOffset,i.byteLength);e.assignView(this,s,A,!0,r)}})}})},7431:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(4540),s=t(8e3);(0,i.co)({defineDataView(A){const e=this;return(0,s.NV)({get(){return this[r.zN]?.(),this[r.Qy]},set(t,i){if("DataView"!==t?.[Symbol.toStringTag])throw new n.Pd("DataView",t);e.assignView(this,t,A,!0,i)}})}})},7591:(A,e,t)=>{(0,t(6560).co)({defineMemberFloat(A){return this.defineMemberUsing(A,this.getAccessor)}})},6717:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(9098);function o(A){return g.call(this,A).$}function g(A){return this[s._f][A]??this[s.tZ](A)}function I(A){const e=g.call(this,A).$;return e?e.string:e}function C(A,e,t){g.call(this,A)[s.Zv](e,t)}(0,n.co)({defineMemberObject:A=>(0,a.E)(A.slot,{get:A.flags&i.pK.IsString?I:A.structure.flags&i.yi.HasValue?o:g,set:A.flags&i.pK.IsReadOnly?r.V0:C})})},2164:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(4540);(0,i.co)({...{defineMemberUsing(A,e){const{littleEndian:t}=this,{bitOffset:i,byteSize:s}=A,a=e.call(this,"get",A),o=e.call(this,"set",A);if(void 0!==i){const A=i>>3;return{get:function(){try{return a.call(this[r.Qy],A,t)}catch(e){if(e instanceof TypeError&&this[r.zN]?.())return a.call(this[r.Qy],A,t);throw e}},set:function(e){try{return o.call(this[r.Qy],A,e,t)}catch(i){if(i instanceof TypeError&&this[r.zN]?.())return o.call(this[r.Qy],A,e,t);throw i}}}}return{get:function(e){try{return a.call(this[r.Qy],e*s,t)}catch(i){if(i instanceof TypeError&&this[r.zN]?.())return a.call(this[r.Qy],e*s,t);throw(0,n.qx)(A,e,i)}},set:function(e,i){try{return o.call(this[r.Qy],e*s,i,t)}catch(a){if(a instanceof TypeError&&this[r.zN]?.())return o.call(this[r.Qy],e*s,i,t);throw(0,n.qx)(A,e,a)}}}}}})},5496:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(4540),s=t(8e3);(0,i.co)({defineString(A){const e=this,{byteSize:t}=A.instance.members[0],i="utf-"+8*t;return(0,s.NV)({get(){let A=(0,s.g7)(this.typedArray,i);const e=this.constructor[r.fd]?.value;return void 0!==e&&A.charCodeAt(A.length-1)===e&&(A=A.slice(0,-1)),A},set(t,a){if("string"!=typeof t)throw new n.Pd("string",t);const o=this.constructor[r.fd]?.value;void 0!==o&&t.charCodeAt(t.length-1)!==o&&(t+=String.fromCharCode(o));const g=(0,s.wx)(t,i),I=new DataView(g.buffer);e.assignView(this,I,A,!1,a)}})}})},6135:(A,e,t)=>{var i=t(6560),n=t(3456);(0,i.co)({defineToJSON:()=>({value(){return(0,n.F)(this,!0)}})})},9813:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(4540),s=t(9098);(0,i.co)({defineMemberType(A,e){const{slot:t}=A;return(0,s.E)(t,{get(A){const e=this[r._f][A];return e?.constructor},set:n.V0})}})},3793:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(8e3);(0,i.co)({defineTypedArray(A){const e=this,t=this.getTypedArray(A);return(0,r.NV)({get(){const A=this.dataView,e=A.byteLength/t.BYTES_PER_ELEMENT;return new t(A.buffer,A.byteOffset,e)},set(i,r){if(i?.[Symbol.toStringTag]!==t.name)throw new n.Pd(t.name,i);const s=new DataView(i.buffer,i.byteOffset,i.byteLength);e.assignView(this,s,A,!0,r)}})}})},8305:(A,e,t)=>{(0,t(6560).co)({defineMemberUint(A){let e=this.getAccessor;return this.runtimeSafety&&(e=this.addRuntimeCheck(e)),e=this.addIntConversion(e),this.defineMemberUsing(A,e)}})},3456:(A,e,t)=>{t.d(e,{F:()=>g});var i=t(1388),n=t(6560),r=t(4540),s=t(8e3);(0,n.co)({defineValueOf:()=>({value(){return g(this,!1)}})});const a=BigInt(Number.MAX_SAFE_INTEGER),o=BigInt(Number.MIN_SAFE_INTEGER);function g(A,e){const t={error:e?"return":"throw"},n=(0,s.L9)(t),g=new Map,I=function(A){const s="function"==typeof A?i.ev.Struct:A?.constructor?.[r.ZE];if(void 0===s){if(e){if("bigint"==typeof A&&o<=A&&A<=a)return Number(A);if(A instanceof Error)return{error:A.message}}return A}let C=g.get(A);if(void 0===C){let e;switch(s){case i.ev.Struct:e=A[r.lf](t),C=A.constructor[r.Wg]&i.sU.IsTuple?[]:{};break;case i.ev.Union:e=A[r.lf](t),C={};break;case i.ev.Array:case i.ev.Vector:case i.ev.Slice:e=A[r.lf](),C=[];break;case i.ev.Pointer:try{C=A["*"]}catch(A){C=Symbol.for("inaccessible")}break;case i.ev.Enum:C=n((()=>String(A)));break;case i.ev.Opaque:C={};break;default:C=n((()=>A.$))}if(C=I(C),g.set(A,C),e)for(const[A,t]of e)C[A]=I(t)}return C};return I(A)}},8539:(A,e,t)=>{var i=t(6560),n=t(4762);(0,i.co)({defineMemberVoid(A,e){const{bitOffset:t}=A;return{get(){},set:void 0!==t?function(e){if(void 0!==e)throw new n.UQ(A)}:function(e,t){if(void 0!==t)throw new n.UQ(A);if(e<0||e>=this.length)throw new n._l(A,e)}}}})},7679:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({defineStructure(A){const{type:e,byteSize:t}=A,n=this[`define${i.EK[e]}`],r=[],o={},g={dataView:this.defineDataView(A),base64:this.defineBase64(A),toJSON:this.defineToJSON(),valueOf:this.defineValueOf(),[s.KK]:{value:null},[s.Bl]:(0,a.vQ)(o),[s.Rk]:(0,a.vQ)(r),[s.sF]:this.defineCopier(t),[s.zN]:this.defineRestorer()},I=A.constructor=n.call(this,A,g);for(const[A,e]of Object.entries(g)){const t=e?.set;t&&!o[A]&&"$"!==A&&(o[A]=t,r.push(A))}return(0,a.ny)(I.prototype,g),I},finalizeStructure(A){const{name:e,type:t,constructor:n,align:r,byteSize:o,flags:g,signature:I,static:{members:C,template:Q}}=A,c=[],B={name:(0,a.vQ)(e),toJSON:this.defineToJSON(),valueOf:this.defineValueOf(),[s.J2]:(0,a.vQ)(I),[s.M0]:(0,a.vQ)(this),[s.Ec]:(0,a.vQ)(r),[s.SK]:(0,a.vQ)(o),[s.ZE]:(0,a.vQ)(t),[s.Wg]:(0,a.vQ)(g),[s.n5]:(0,a.vQ)(c),[s.pM]:(0,a.vQ)(this.getTypedArray(A)),[Symbol.iterator]:this.defineStructIterator(),[s.lf]:this.defineStructEntries(),[s.n5]:(0,a.vQ)(c)},l={[Symbol.toStringTag]:(0,a.vQ)(e)};for(const A of C){const{name:e,slot:t,flags:n}=A;if(A.structure.type===i.ev.Function){let r=Q[s._f][t];n&i.pK.IsString&&(r[s.fM]=!0),B[e]=(0,a.vQ)(r),r.name||(0,a.n8)(r,"name",(0,a.vQ)(e));const[o,g]=/^(get|set)\s+([\s\S]+)/.exec(e)?.slice(1)??[],I="get"===o?0:1;if(o&&r.length===I&&(B[g]||={},B[g][o]=r),A.flags&i.pK.IsMethod){const A=function(...A){try{return r(this,...A)}catch(A){throw A[s.q6]?.(1),A}};(0,a.ny)(A,{name:(0,a.vQ)(e),length:(0,a.vQ)(r.length-1)}),l[e]=(0,a.vQ)(A),o&&A.length===I&&((l[g]||={})[o]=A)}}else B[e]=this.defineMember(A),c.push(e)}B[s._f]=c.length>0&&(0,a.vQ)(Q[s._f]);const u=this[`finalize${i.EK[t]}`];!1!==u?.call(this,A,B,l)&&((0,a.ny)(n.prototype,l),(0,a.ny)(n,B))},createConstructor(A,e={}){const{type:t,byteSize:n,align:o,flags:g,instance:{members:I,template:C}}=A,{onCastError:Q}=e;let c;if(C?.[s._f]){const A=I.filter((A=>A.flags&i.pK.IsReadOnly));A.length>0&&(c=A.map((A=>A.slot)))}const B=new a.UF,l=this,u=function(e,a={}){const{allocator:I}=a,E=this instanceof u;let f,h;if(E){if(0===arguments.length)throw new r.ci(A);if(f=this,g&i.yi.HasSlot&&(f[s._f]={}),s.IW in f)f[s.Zv](e,I),h=f[s.Qy];else{const A=t!==i.ev.Pointer?I:null;f[s.Qy]=h=l.allocateMemory(n,o,A)}}else{if(s.mL in u&&(f=u[s.mL].call(this,e,a),!1!==f))return f;if(h=l.extractView(A,e,Q),f=B.find(h))return f;f=Object.create(u.prototype),s.IW in f?l.assignView(f,h,A,!1,!1):f[s.Qy]=h,g&i.yi.HasSlot&&(f[s._f]={})}if(c)for(const A of c)f[s._f][A]=C[s._f][A];return f[s.f$]?.(),E&&(s.IW in f||f[s.Zv](e,I)),s.vm in f&&(f=f[s.vm]()),B.save(h,f)};return(0,a.n8)(u,s.fV,(0,a.vQ)(B)),C?.[s.Qy]&&(0,a.n8)(C,s.zN,this.defineRestorer()),u},createApplier(A){const{instance:{template:e}}=A;return function(t,i){const n=Object.keys(t),a=this[s.Rk],o=this[s.Bl];for(const e of n)if(!(e in o))throw new r.xH(A,e);let g=0,I=0,C=0,Q=0;for(const A of a){const e=o[A];e.special?A in t&&Q++:(g++,A in t?I++:e.required&&C++)}if(0!==C&&0===Q){const e=a.filter((A=>o[A].required&&!(A in t)));throw new r.SB(A,e)}if(Q+I>n.length)for(const A of a)A in t&&(n.includes(A)||n.push(A));I<g&&0===Q&&e&&e[s.Qy]&&this[s.sF](e);for(const A of n)o[A].call(this,t[A],i);return n.length}},getTypedArray(A){const{type:e,instance:t}=A;if(void 0!==e&&t){const[A]=t.members;switch(e){case i.ev.Enum:case i.ev.ErrorSet:case i.ev.Primitive:{const{byteSize:e,type:t}=A,n=t===i.Z9.Float?"Float":t===i.Z9.Int?"Int":"Uint",r=e>4&&t!==i.Z9.Float?"Big":"";return globalThis[r+n+8*e+"Array"]}case i.ev.Array:case i.ev.Slice:case i.ev.Vector:return this.getTypedArray(A.structure)}}}})},2244:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({defineArgStruct(A,e){const{flags:t,byteSize:n,align:o,length:g,instance:{members:I}}=A,C=this,Q=I.slice(1),c=function(A,e){const a=this instanceof c;let I,B;if(a?(I=this,B=C.allocateMemory(n,o)):(I=Object.create(c.prototype),B=A),I[s.Qy]=B,t&i.yi.HasSlot&&(I[s._f]={}),!a)return I;{let n;if(t&i.e2.HasOptions&&A.length===g+1&&(n=A.pop()),A.length!==g)throw new r.nz(g,A.length);t&i.e2.IsAsync&&(I[s.vm]=null),C.copyArguments(I,A,Q,n,e)}};for(const A of I)e[A.name]=this.defineMember(A);const B=e.retval.set;return e.length=(0,a.vQ)(Q.length),e[s.tZ]=t&i.yi.HasObject&&this.defineVivificatorStruct(A),e[s.g9]=t&i.yi.HasPointer&&this.defineVisitorArgStruct(I),e[s.zg]=(0,a.vQ)((function(A){B.call(this,A,this[s.Gz])})),e[Symbol.iterator]=this.defineArgIterator?.(Q),e[s.sF]=this.defineRetvalCopier(I[0]),c},finalizeArgStruct(A,e){const{flags:t}=A;e[s.du]=(0,a.vQ)(!!(t&i.e2.IsThrowing))}})},9433:(A,e,t)=>{var i=t(6560),n=t(4540),r=t(8e3);(0,i.co)({defineFinalizerArray:({get:A,set:e})=>({value(){const t=new Proxy(this,s);return(0,r.ny)(this,{[n.rG]:{value:t},get:{value:A.bind(this)},set:e&&{value:e.bind(this)}}),t}}),defineVivificatorArray(A){const{instance:{members:[e]}}=A,{byteSize:t,structure:i}=e,r=this;return{value:function(A){const{constructor:e}=i;this[n.zN]?.();const s=this[n.Qy],a=s.byteOffset+t*A,o=r.obtainView(s.buffer,a,t);return this[n._f][A]=e.call(n.f7,o)}}}});const s={get(A,e){const t="symbol"==typeof e?0:0|e;return 0!==t||t==e?A.get(t):e===n.sO?A:A[e]},set(A,e,t){const i="symbol"==typeof e?0:0|e;return 0!==i||i==e?A.set(i,t):A[e]=t,!0},deleteProperty(A,e){const t="symbol"==typeof e?0:0|e;return 0===t&&t!=e&&(delete A[e],!0)},has(A,e){const t="symbol"==typeof e?0:0|e;return 0!==t||t==e?t>=0&&t<A.length:A[e]},ownKeys(A){const e=[];for(let t=0,i=A.length;t<i;t++)e.push(`${t}`);return e.push("length",n.rG),e},getOwnPropertyDescriptor(A,e){const t="symbol"==typeof e?0:0|e;return 0===t&&t!=e?Object.getOwnPropertyDescriptor(A,e):t>=0&&t<A.length?{value:A.get(t),enumerable:!0,writable:!0,configurable:!0}:void 0}}},3509:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({defineArray(A,e){const{length:t,instance:{members:[n]},flags:o}=A,g=this.createApplier(A),I=this.defineMember(n),{set:C}=I,Q=this.createConstructor(A),c=function(e,n){if((0,a.pU)(e,Q))this[s.sF](e),o&i.yi.HasPointer&&this[s.g9]("copy",i.F7.Vivificate,e);else if("string"==typeof e&&o&i.uE.IsString&&(e={string:e}),e?.[Symbol.iterator]){if((e=(0,a.FU)(e)).length!==t)throw new r.Y8(A,this,e);let i=0;for(const A of e)C.call(this,i++,A,n)}else if(e&&"object"==typeof e){if(0===g.call(this,e))throw new r.L2(A,e)}else if(void 0!==e)throw new r.L2(A,e)};return e.$={get:a.V_,set:c},e.length=(0,a.vQ)(t),e.entries=e[s.lf]=this.defineArrayEntries(),o&i.uE.IsTypedArray&&(e.typedArray=this.defineTypedArray(A),o&i.uE.IsString&&(e.string=this.defineString(A)),o&i.uE.IsClampedArray&&(e.clampedArray=this.defineClampedArray(A))),e[Symbol.iterator]=this.defineArrayIterator(),e[s.Zv]=(0,a.vQ)(c),e[s.vm]=this.defineFinalizerArray(I),e[s.tZ]=o&i.yi.HasObject&&this.defineVivificatorArray(A),e[s.g9]=o&i.yi.HasPointer&&this.defineVisitorArray(),Q},finalizeArray(A,e){const{flags:t,instance:{members:[n]}}=A;e.child=(0,a.vQ)(n.structure.constructor),e[s.fd]=t&i.uE.HasSentinel&&this.defineSentinel(A)}})},8371:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({defineEnum(A,e){const{instance:{members:[t]}}=A,i=this.defineMember(t),{get:n,set:o}=i,{get:g}=this.defineMember(t,!1),I=this.createApplier(A),C=["string","number","tagged union"],Q=this.createConstructor(A,{onCastError(A,e){throw new r.is(A,C,e)}});return e.$=i,e.toString=(0,a.vQ)(a.dI),e[Symbol.toPrimitive]={value(A){switch(A){case"string":case"default":return this.$[s.o_];default:return g.call(this)}}},e[s.Zv]=(0,a.vQ)((function(e){if(e&&"object"==typeof e){if(0===I.call(this,e))throw new r.is(A,C,e)}else void 0!==e&&o.call(this,e)})),Q},finalizeEnum(A,e){const{flags:t,constructor:n,instance:{members:[r]},static:{members:o,template:g}}=A,I=g[s._f],{get:C,set:Q}=this.defineMember(r,!1),c={};for(const{name:A,flags:t,slot:n}of o)if(t&i.pK.IsPartOfSet){const t=I[n];(0,a.n8)(t,s.o_,(0,a.vQ)(A));const i=C.call(t);e[A]={value:t,writable:!1},c[i]=t}e[s.mL]={value(A){if("string"==typeof A)return n[A];if("number"==typeof A||"bigint"==typeof A){let e=c[A];if(!e&&t&i.Q6.IsOpenEnded){e=new n(void 0),Q.call(e,A);const t=`${A}`;(0,a.n8)(e,s.o_,(0,a.vQ)(t)),(0,a.n8)(n,t,(0,a.vQ)(e)),c[A]=e}return e}return A instanceof n?A:A?.[s.Dk]instanceof n&&A[s.Dk]}},e[s.pM]=(0,a.vQ)(this.getTypedArray(A))},transformDescriptorEnum(A,e){const{type:t,structure:n}=e;if(t===i.Z9.Object)return A;const s=function(A){const{constructor:e}=n,t=e(A);if(!t)throw new r.iS(n,A);return t},{get:a,set:o}=A;return{get:0===a.length?function(){const A=a.call(this);return s(A)}:function(A){const e=a.call(this,A);return s(e)},set:1===o.length?function(A){A=s(A)[Symbol.toPrimitive](),o.call(this,A)}:function(A,e){const t=s(e);o.call(this,A,t[Symbol.toPrimitive]())}}}})},903:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({init(){this.ZigError=null,this.globalItemsByIndex={},this.globalErrorSet=null},defineErrorSet(A,e){const{instance:{members:[t]},byteSize:n,flags:g}=A;if(!this.ZigError){this.ZigError=class extends o{};const A={type:i.ev.ErrorSet,flags:i.Zm.IsGlobal,byteSize:n,name:"anyerror",instance:{members:[t]},static:{members:[],template:{SLOTS:{}}}},e=this.defineStructure(A);this.finalizeStructure(A),this.globalErrorSet=e}if(this.globalErrorSet&&g&i.Zm.IsGlobal)return this.globalErrorSet;const I=this.defineMember(t),{set:C}=I,Q=["string","number"],c=this.createApplier(A),B=this.createConstructor(A,{onCastError(A,e){throw new r.is(A,Q,e)}});return e.$=I,e[s.Zv]=(0,a.vQ)((function(e){if(e instanceof B[s.tp])C.call(this,e);else if(e&&"object"==typeof e&&!(0,r.FD)(e)){if(0===c.call(this,e))throw new r.is(A,Q,e)}else void 0!==e&&C.call(this,e)})),B},finalizeErrorSet(A,e){const{constructor:t,flags:n,instance:{members:[o]},static:{members:g,template:I}}=A;if(this.globalErrorSet&&n&i.Zm.IsGlobal)return!1;const C=I?.[s._f]??{},Q=n&i.Zm.IsGlobal?this.globalItemsByIndex:{},{get:c}=this.defineMember(o,!1);for(const{name:A,slot:t}of g){const i=C[t],n=c.call(i);let r=this.globalItemsByIndex[n];const o=!!r;r||(r=new this.ZigError(A,n));const g=(0,a.vQ)(r);e[A]=g;const I=`${r}`;e[I]=g,Q[n]=r,o||((0,a.ny)(this.globalErrorSet,{[A]:g,[I]:g}),this.globalErrorSet[s.n5].push(A),this.globalItemsByIndex[n]=r)}e[s.mL]={value:A=>"number"==typeof A?Q[A]:"string"==typeof A?t[A]:A instanceof t[s.tp]?Q[Number(A)]:(0,r.FD)(A)?t[`Error: ${A.error}`]:A instanceof Error&&t[`${A}`]},e[s.tp]=(0,a.vQ)(this.ZigError)},transformDescriptorErrorSet(A,e){const{type:t,structure:n}=e;if(t===i.Z9.Object)return A;const s=A=>{const{constructor:e,flags:t}=n,s=e(A);if(!s){if(t&i.Zm.IsGlobal&&"number"==typeof A){const e=new this.ZigError(`Unknown error: ${A}`,A);return this.globalItemsByIndex[A]=e,(0,a.n8)(this.globalErrorSet,`${e}`,(0,a.vQ)(e)),e}throw A instanceof Error?new r.Ho(n):new r.to(n,A)}return s},{get:o,set:g}=A;return{get:0===o.length?function(){const A=o.call(this);return s(A)}:function(A){const e=o.call(this,A);return s(e)},set:1===g.length?function(A){const e=s(A);A=Number(e),g.call(this,A)}:function(A,e){const t=s(e);e=Number(t),g.call(this,A,e)}}}});class o extends Error{constructor(A,e){super((0,r.a6)(A)),this.number=e,this.stack=void 0}[Symbol.toPrimitive](A){switch(A){case"string":case"default":return Error.prototype.toString.call(this,A);default:return this.number}}toJSON(){return{error:this.message}}}},3692:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({defineErrorUnion(A,e){const{instance:{members:[t,n]},flags:o}=A,{get:g,set:I}=this.defineMember(t),{get:C,set:Q}=this.defineMember(n),{get:c,set:B}=this.defineMember(n,!1),l=t.type===i.Z9.Void,u=n.structure.constructor,E=function(){this[s.Ut](),this[s.g9]?.("clear")},f=this.createApplier(A),h=function(A,e){if((0,a.pU)(A,d))this[s.sF](A),o&i.yi.HasPointer&&(c.call(this)||this[s.g9]("copy",0,A));else if(A instanceof u[s.tp]&&u(A))Q.call(this,A),E.call(this);else if(void 0!==A||l)try{I.call(this,A,e),B.call(this,0)}catch(e){if(A instanceof Error){const e=u(A)??u.Unexpected;if(!e)throw new r.Ho(n.structure);Q.call(this,e),E.call(this)}else if((0,r.FD)(A))Q.call(this,A),E.call(this);else{if(!A||"object"!=typeof A)throw e;if(0===f.call(this,A))throw e}}},{bitOffset:p,byteSize:y}=t,d=this.createConstructor(A);return e.$={get:function(){if(c.call(this))throw C.call(this);return g.call(this)},set:h},e[s.Zv]=(0,a.vQ)(h),e[s.tZ]=o&i.yi.HasObject&&this.defineVivificatorStruct(A),e[s.Ut]=this.defineResetter(p/8,y),e[s.g9]=o&i.yi.HasPointer&&this.defineVisitorErrorUnion(t,c),d}})},7382:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({defineFunction(A,e){const{instance:{members:[t],template:n},static:{template:o}}=A,g=new a.UF,{structure:{constructor:I}}=t,C=this,Q=function(e){const t=this instanceof Q;let c,B;if(t){if(0===arguments.length)throw new r.ci(A);if("function"!=typeof e)throw new r.Pd("function",e);if(I[s.ZE]===i.ev.VariadicStruct||!o)throw new r.O0;c=C.getFunctionThunk(e,o)}else{if(this!==s.M0)throw new r.Qm;c=e}if(B=g.find(c))return B;const l=I.prototype.length,u=t?C.createInboundCaller(e,I):C.createOutboundCaller(n,I);return(0,a.ny)(u,{length:(0,a.vQ)(l),name:(0,a.vQ)(t?e.name:"")}),Object.setPrototypeOf(u,Q.prototype),u[s.Qy]=c,g.save(c,u),u};return Object.setPrototypeOf(Q.prototype,Function.prototype),e.valueOf=e.toJSON=(0,a.vQ)(a.Ng),Q},finalizeFunction(A,e,t){t[Symbol.toStringTag]=void 0}})},3750:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4540),s=t(8e3);(0,n.co)({defineOptional(A,e){const{instance:{members:[t,n]},flags:a}=A,{get:o,set:g}=this.defineMember(t),{get:I,set:C}=this.defineMember(n),Q=t.type===i.Z9.Void,c=function(A,e){(0,s.pU)(A,B)?(this[r.sF](A),a&i.yi.HasPointer&&I.call(this)&&this[r.g9]("copy",i.F7.Vivificate,A)):null===A?(C.call(this,0),this[r.Ut]?.(),this[r.g9]?.("clear")):(void 0!==A||Q)&&(g.call(this,A,e),a&i.Nt.HasSelector?C.call(this,1):a&i.yi.HasPointer&&(I.call(this)||C.call(this,13)))},B=A.constructor=this.createConstructor(A),{bitOffset:l,byteSize:u}=t;return e.$={get:function(){return I.call(this)?o.call(this):(this[r.g9]?.("clear"),null)},set:c},e[r.Zv]=(0,s.vQ)(c),e[r.Ut]=a&i.Nt.HasSelector&&this.defineResetter(l/8,u),e[r.tZ]=a&i.yi.HasObject&&this.defineVivificatorStruct(A),e[r.g9]=a&i.yi.HasPointer&&this.defineVisitorOptional(t,I),B}})},1425:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);function o(A,e){return(0,a.xN)(A?.constructor?.child,e)&&A["*"]}function g(A,e,t){if(t&i.UT.IsMultiple){if(A?.constructor?.child?.child===e.child&&A["*"])return!0;if(t&i.UT.IsSingle&&o(A,e.child))return!0}return!1}(0,n.co)({definePointer(A,e){const{flags:t,byteSize:n,instance:{members:[I]}}=A,{structure:c}=I,{type:B,flags:l,byteSize:u=1}=c,E=t&i.UT.HasLength?n/2:n,{get:f,set:h}=this.defineMember({type:i.Z9.Uint,bitOffset:0,bitSize:8*E,byteSize:E,structure:{byteSize:E}}),{get:p,set:y}=t&i.UT.HasLength?this.defineMember({type:i.Z9.Uint,bitOffset:8*E,bitSize:8*E,byteSize:E,structure:{flags:i.AD.IsSize,byteSize:E}}):{},d=function(A,e=!0,n=!0){if(e||this[s.Qy][s.Dr]){if(!n)return this[s._f][0]=void 0;{const e=G.child,n=f.call(this),r=t&i.UT.HasLength?p.call(this):B===i.ev.Slice&&l&i.tv.HasSentinel?k.findSentinel(n,e[s.fd].bytes)+1:1;if(n!==this[s.c6]||r!==this[s.uL]){const a=k.findMemory(A,n,r,e[s.SK]),o=a?e.call(s.M0,a):null;return this[s._f][0]=o,this[s.c6]=n,this[s.uL]=r,t&i.UT.HasLength&&(this[s.E2]=null),o}}}return this[s._f][0]},m=function(A){h.call(this,A),this[s.c6]=A},b=l&i.tv.HasSentinel?1:0,D=t&i.UT.HasLength||l&i.tv.HasSentinel?function(A){y?.call?.(this,A-b),this[s.uL]=A}:null,S=function(){const A=this[s.C7]??this,e=!A[s._f][0],n=d.call(A,null,e);if(!n){if(t&i.UT.IsNullable)return null;throw new r.BY}return t&i.UT.IsConst?C(n):n},w=l&i.yi.HasValue?function(){return S.call(this).$}:S,v=t&i.UT.IsConst?r.V0:function(A){return S.call(this).$=A},k=this,x=function(e,n){const I=c.constructor;if(o(e,I)){if(!(t&i.UT.IsConst)&&e.constructor.const)throw new r.G9(A,e);e=e[s._f][0]}else if(t&i.UT.IsMultiple)g(e,I,t)&&(e=I(e[s._f][0][s.Qy]));else if(B===i.ev.Slice&&l&i.tv.IsOpaque&&e)if(e.constructor[s.ZE]===i.ev.Pointer)e=e[s.Qn]?.[s.Qy];else if(e[s.Qy])e=e[s.Qy];else if(e?.buffer instanceof ArrayBuffer&&!(e instanceof Uint8Array||e instanceof DataView)){const{byteOffset:A,byteLength:t}=e;void 0!==A&&void 0!==t&&(e=new DataView(e.buffer,A,t))}if(e instanceof I){e[s.zN]?.();const n=e[s.KK];if(n){if(!(t&i.UT.IsConst))throw new r.ck(A);e=n}}else if((0,a.pU)(e,I))e=I.call(s.M0,e[s.Qy]);else if(t&i.UT.IsSingle&&t&i.UT.IsMultiple&&e instanceof I.child)e=I(e[s.Qy]);else if(function(A,e){const t=A?.[Symbol.toStringTag];if(t){const i=e[s.pM];if(i)switch(t){case i.name:case"DataView":return!0;case"ArrayBuffer":return i===Uint8Array||i===Int8Array;case"Uint8ClampedArray":return i===Uint8Array}if(e.child&&void 0!==(0,a.be)(A,e.child))return!0}return!1}(e,I))e=I(k.extractView(c,e));else if(null==e||e[s.Qy]){if(!(void 0===e||t&i.UT.IsNullable&&null===e))throw new r.QB(A,e)}else{if(t&i.UT.IsSingle&&t&i.UT.IsMultiple&&"object"==typeof e&&!e[Symbol.iterator]){let A=!0;const t=I.prototype[s.Bl];for(const i of Object.keys(e)){const e=t[i];if(e?.special){A=!1;break}}A&&(e=[e])}if(s.pM in I&&e?.buffer&&e[Symbol.iterator])throw new r.QB(A,e);e=new I(e,{allocator:n})}const C=e?.[s.Qy]?.[s.Dr];if(C?.address===a.Y$)throw new r.xp(e);this[s.Qn]=e},G=this.createConstructor(A);return e["*"]={get:w,set:v},e.$={get:a.V_,set:x},e.length={get:function(){const A=S.call(this);return A?A.length:0},set:function(A){A|=0;const e=S.call(this);if(!e){if(0!==A)throw new r._L(A,0);return}if(e.length===A)return;e[s.zN]?.();const n=e[s.Qy],a=n[s.Dr];let o;if(a||(t&i.UT.HasLength?(this[s.E2]||=e.length,o=this[s.E2]):o=(n.buffer.byteLength-n.byteOffset)/u|0),A<0||A>o)throw new r._L(A,o);const g=A*u,I=a?k.obtainZigView(a.address,g):k.obtainView(n.buffer,n.byteOffset,g),C=c.constructor;this[s._f][0]=C.call(s.M0,I),D?.call?.(this,A)}},e.slice=B===i.ev.Slice&&{value(A,e){const t=this[s.Qn].slice(A,e);return new G(t)}},e.subarray=B===i.ev.Slice&&{value(A,e,t){const i=this[s.Qn].subarray(A,e,t);return new G(i)}},e[Symbol.toPrimitive]=B===i.ev.Primitive&&{value(A){return this[s.Qn][Symbol.toPrimitive](A)}},e[s.Zv]=(0,a.vQ)(x),e[s.vm]={value(){const A=B!==i.ev.Pointer?Q:{};let e;B===i.ev.Function?(e=function(){},e[s.Qy]=this[s.Qy],e[s._f]=this[s._f],Object.setPrototypeOf(e,G.prototype)):e=this;const t=new Proxy(e,A);return Object.defineProperty(e,s.rG,{value:t}),t}},e[s.Qn]={get:S,set:function(A){if(void 0===A)return;const e=this[s.C7]??this;if(A){const t=A[s.Qy][s.Dr];if(t){const{address:e,js:i}=t;m.call(this,e),D?.call?.(this,A.length),i&&(A[s.Qy][s.Dr]=void 0)}else if(e[s.Qy][s.Dr])throw new r.x1}else e[s.Qy][s.Dr]&&(m.call(this,0),D?.call?.(this,0));e[s._f][0]=A??null,t&i.UT.HasLength&&(e[s.E2]=null)}},e[s.q6]=(0,a.vQ)(d),e[s.BD]={set:m},e[s.pi]={set:D},e[s.g9]=this.defineVisitor(),e[s.c6]=(0,a.vQ)(0),e[s.uL]=(0,a.vQ)(0),e[s.E2]=t&i.UT.HasLength&&(0,a.vQ)(null),e.dataView=e.base64=void 0,G},finalizePointer(A,e){const{flags:t,constructor:n,instance:{members:[I]}}=A,{structure:C}=I,{type:Q,constructor:c}=C;e.child=c?(0,a.vQ)(c):{get:()=>C.constructor},e.const=(0,a.vQ)(!!(t&i.UT.IsConst)),e[s.mL]={value(e,a){if(this===s.M0||this===s.f7||e instanceof n)return!1;if(o(e,c))return new n(c(e["*"]),a);if(g(e,c,t))return new n(e);if(Q===i.ev.Slice)return new n(c(e),a);throw new r.zy(A)}}}});const I=new WeakMap;function C(A){let e=I.get(A);if(!e){const t=A[s.C7];e=t?new Proxy(t,c):new Proxy(A,B),I.set(A,e)}return e}const Q={get:(A,e)=>e===s.C7?A:e in A?A[e]:A[s.Qn][e],set:(A,e,t)=>(e in A?A[e]=t:A[s.Qn][e]=t,!0),deleteProperty:(A,e)=>(e in A?delete A[e]:delete A[s.Qn][e],!0),has:(A,e)=>e in A||e in A[s.Qn],apply:(A,e,t)=>A["*"].apply(e,t)},c={...Q,set:(A,e,t)=>(e in A?(0,r.V0)():A[s.Qn][e]=t,!0)},B={get(A,e){if(e===s.KK)return A;{const t=A[e];return t?.[s.Qy]?C(t):t}},set(A,e,t){(0,r.V0)()}}},8773:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(4540),s=t(8e3);(0,i.co)({definePrimitive(A,e){const{instance:{members:[t]}}=A,i=this.createApplier(A),{get:a,set:o}=this.defineMember(t),g=function(e){if((0,s.pU)(e,I))this[r.sF](e);else if(e&&"object"==typeof e){if(0===i.call(this,e)){const i=(0,s.BF)(t);throw new n.is(A,i,e)}}else void 0!==e&&o.call(this,e)},I=this.createConstructor(A);return e.$={get:a,set:g},e[r.Zv]=(0,s.vQ)(g),e[Symbol.toPrimitive]=(0,s.vQ)(a),I},finalizePrimitive(A,e){const{instance:{members:[t]}}=A;e[r.Qt]=(0,s.vQ)(t.bitSize),e[r.uT]=(0,s.vQ)(t.type)}})},3086:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);function o(){return this[s.pi]}function g(A,e){return(A|=0)<0?(A=e+A)<0&&(A=0):A>e&&(A=e),A}(0,n.co)({defineSlice(A,e){const{align:t,flags:n,byteSize:I,name:C,instance:{members:[Q]}}=A,{byteSize:c,structure:B}=Q,l=this,u=function(A,e,i){A||(A=l.allocateMemory(e*c,t,i)),this[s.Qy]=A,this[s.pi]=e},E=function(e,t){if(t!==this[s.pi])throw new r.Y8(A,this,e)},f=this.defineMember(Q),{set:h}=f,p=this.createApplier(A),y=function(e,t){if((0,a.pU)(e,m))this[s.Qy]?E.call(this,e,e.length):u.call(this,null,e.length,t),this[s.sF](e),n&i.yi.HasPointer&&this[s.g9]("copy",i.F7.Vivificate,e);else if("string"==typeof e&&n&i.tv.IsString)y.call(this,{string:e},t);else if(e?.[Symbol.iterator]){e=(0,a.FU)(e),this[s.Qy]?E.call(this,e,e.length):u.call(this,null,e.length,t);let A=0;for(const i of e)m[s.fd]?.validateValue(i,A,e.length),h.call(this,A++,i,t)}else if("number"==typeof e){if(!(!this[s.Qy]&&e>=0&&isFinite(e)))throw new r.L2(A,e,!this[s.Qy]);u.call(this,null,e,t)}else if(e&&"object"==typeof e){if(0===p.call(this,e,t))throw new r.L2(A,e)}else if(void 0!==e)throw new r.L2(A,e)},d=function(A,e){const t=this[s.pi],i=this[s.Qy];A=void 0===A?0:g(A,t),e=void 0===e?t:g(e,t);const n=A*c,r=e*c-n;return l.obtainView(i.buffer,i.byteOffset+n,r)},m=this.createConstructor(A);return e.$={get:a.V_,set:y},e.length={get:o},n&i.tv.IsTypedArray&&(e.typedArray=this.defineTypedArray(A),n&i.tv.IsString&&(e.string=this.defineString(A)),n&i.tv.IsClampedArray&&(e.clampedArray=this.defineClampedArray(A))),e.entries=e[s.lf]=this.defineArrayEntries(),e.subarray={value(A,e){const t=d.call(this,A,e);return m(t)}},e.slice={value(A,e,i={}){const{zig:n=!1}=i,r=d.call(this,A,e),a=l.allocateMemory(r.byteLength,t,n),o=m(a);return o[s.sF]({[s.Qy]:r}),o}},e[Symbol.iterator]=this.defineArrayIterator(),e[s.IW]=(0,a.vQ)(u),e[s.sF]=this.defineCopier(I,!0),e[s.Zv]=(0,a.vQ)(y),e[s.vm]=this.defineFinalizerArray(f),e[s.tZ]=n&i.yi.HasObject&&this.defineVivificatorArray(A),e[s.g9]=n&i.yi.HasPointer&&this.defineVisitorArray(),m},finalizeSlice(A,e){const{flags:t,instance:{members:[n]}}=A;e.child=(0,a.vQ)(n.structure.constructor),e[s.fd]=t&i.tv.HasSentinel&&this.defineSentinel(A)}})},8991:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540);(0,n.co)({defineVivificatorStruct(A){const{instance:{members:e}}=A,t={};for(const A of e.filter((A=>A.type===i.Z9.Object)))t[A.slot]=A;const n=this;return{value(A){const e=t[A],{bitOffset:i,byteSize:a,structure:{constructor:o}}=e;this[s.zN]?.();const g=this[s.Qy],I=g.byteOffset+(i>>3);let C=a;if(void 0===C){if(7&i)throw new r.Vp(e);C=e.bitSize>>3}const Q=n.obtainView(g.buffer,I,C);return this[s._f][A]=o.call(s.f7,Q)}}}})},8771:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({defineStruct(A,e){const{flags:t,length:n,instance:{members:o}}=A,g=o.find((A=>A.flags&i.pK.IsBackingInt)),I=g&&this.defineMember(g),C=this.createApplier(A),Q=function(e,n){if((0,a.pU)(e,c))this[s.sF](e),t&i.yi.HasPointer&&this[s.g9]("copy",0,e);else if(e&&"object"==typeof e)C.call(this,e,n);else if("number"!=typeof e&&"bigint"!=typeof e||!I){if(void 0!==e)throw new r.is(A,"object",e)}else I.set.call(this,e)},c=this.createConstructor(A),B=e[s.Bl].value,l=e[s.Rk].value,u=[];for(const A of o.filter((A=>!!A.name))){const{name:t,flags:n}=A,{set:r}=e[t]=this.defineMember(A);r&&(n&i.pK.IsRequired&&(r.required=!0),B[t]=r,l.push(t)),u.push(t)}return e.$={get:a.Ng,set:Q},e.length=(0,a.vQ)(n),e.entries=t&i.sU.IsTuple&&this.defineVectorEntries(),e[Symbol.toPrimitive]=I&&{value(A){return"string"===A?Object.prototype.toString.call(this):I.get.call(this)}},e[Symbol.iterator]=t&i.sU.IsIterator?this.defineZigIterator():t&i.sU.IsTuple?this.defineVectorIterator():this.defineStructIterator(),e[s.Zv]=(0,a.vQ)(Q),e[s.tZ]=t&i.yi.HasObject&&this.defineVivificatorStruct(A),e[s.g9]=t&i.yi.HasPointer&&this.defineVisitorStruct(o),e[s.lf]=t&i.sU.IsTuple?this.defineVectorEntries():this.defineStructEntries(),e[s.n5]=(0,a.vQ)(u),t&i.sU.IsAllocator&&(e.alloc=this.defineAlloc(),e.free=this.defineFree(),e.dupe=this.defineDupe()),c}})},2799:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);function o(){throw new r.b$}function g(){const A={get:o,set:o};(0,a.ny)(this[s.C7],{"*":A,$:A,[s.C7]:A,[s.Qn]:A})}(0,n.co)({defineUnion(A,e){const{flags:t,instance:{members:n}}=A,o=!!(t&i.M_.HasSelector),I=o?n.slice(0,-1):n,C=o?n[n.length-1]:null,{get:Q,set:c}=this.defineMember(C),{get:B}=this.defineMember(C,!1),l=t&i.M_.HasTag?function(){return Q.call(this)[s.o_]}:function(){const A=Q.call(this);return I[A].name},u=t&i.M_.HasTag?function(A){const{constructor:e}=C.structure;c.call(this,e[A])}:function(A){const e=I.findIndex((e=>e.name===A));c.call(this,e)},E=this.createApplier(A),f=function(e,n){if((0,a.pU)(e,h))this[s.sF](e),t&i.yi.HasPointer&&this[s.g9]("copy",i.F7.Vivificate,e);else if(e&&"object"==typeof e){let t=0;for(const A of m)A in e&&t++;if(t>1)throw new r.Z6(A);if(0===E.call(this,e,n))throw new r.if(A,e,o)}else if(void 0!==e)throw new r.is(A,"object with a single property",e)},h=this.createConstructor(A),p={},y=e[s.Bl].value,d=e[s.Rk].value,m=[];for(const n of I){const{name:a}=n,{get:g,set:I}=this.defineMember(n),C=o?function(){const e=l.call(this);if(a!==e){if(t&i.M_.HasTag)return null;throw new r.it(A,a,e)}return this[s.g9]?.("clear"),g.call(this)}:g,Q=o&&I?function(e){const t=l.call(this);if(a!==t)throw new r.it(A,a,t);I.call(this,e)}:I,c=o&&I?function(A){u.call(this,a),I.call(this,A),this[s.g9]?.("clear")}:I;e[a]={get:C,set:Q},y[a]=c,p[a]=g,d.push(a),m.push(a)}e.$={get:function(){return this},set:f},e[Symbol.iterator]=t&i.M_.IsIterator?this.defineZigIterator():this.defineUnionIterator(),e[Symbol.toPrimitive]=t&i.M_.HasTag&&{value(A){switch(A){case"string":case"default":return l.call(this);default:return B.call(this)}}};const{comptime:b}=this;return e[s.f$]=t&i.M_.HasInaccessible&&{value(){return b||this[s.g9](g),this[s.g9]=a.Ie,this}},e[s.Zv]=(0,a.vQ)(f),e[s.Dk]=t&i.M_.HasTag&&{get:Q,set:c},e[s.tZ]=t&i.yi.HasObject&&this.defineVivificatorStruct(A),e[s.g9]=t&i.yi.HasPointer&&this.defineVisitorUnion(I,t&i.M_.HasTag?B:null),e[s.lf]=this.defineUnionEntries(),e[s.n5]=t&i.M_.HasTag?{get(){return[l.call(this)]}}:(0,a.vQ)(m),e[s.XS]=(0,a.vQ)(p),h},finalizeUnion(A,e){const{flags:t,instance:{members:n}}=A;t&i.M_.HasTag&&(e.tag=(0,a.vQ)(n[n.length-1].structure.constructor))}})},4233:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({defineVector(A,e){const{flags:t,length:n,instance:{members:[o]}}=A,g=this.createApplier(A),I=function(e){if((0,a.pU)(e,C))this[s.sF](e),t&i.yi.HasPointer&&this[s.g9]("copy",i.F7.Vivificate,e);else if(e?.[Symbol.iterator]){let t=e.length;if("number"!=typeof t&&(t=(e=[...e]).length),t!==n)throw new r.Y8(A,this,e);let i=0;for(const A of e)this[i++]=A}else if(e&&"object"==typeof e){if(0===g.call(this,e))throw new r.L2(A,e)}else if(void 0!==e)throw new r.L2(A,e)},C=this.createConstructor(A,{initializer:I}),{bitSize:Q}=o;for(let A=0,r=0;A<n;A++,r+=Q)t&i.yi.HasPointer?e[A]=this.defineMember({...o,slot:A}):e[A]=this.defineMember({...o,bitOffset:r});return e.$={get:a.Ng,set:I},e.length=(0,a.vQ)(n),t&i.sl.IsTypedArray&&(e.typedArray=this.defineTypedArray(A),t&i.sl.IsClampedArray&&(e.clampedArray=this.defineClampedArray(A))),e.entries=e[s.lf]=this.defineVectorEntries(),e[Symbol.iterator]=this.defineVectorIterator(),e[s.Zv]=(0,a.vQ)(I),e[s.tZ]=t&i.yi.HasObject&&this.defineVivificatorArray(A),e[s.g9]=t&i.yi.HasPointer&&this.defineVisitorArray(),C},finalizeVector(A,e){const{instance:{members:[t]}}=A;e.child=(0,a.vQ)(t.structure.constructor)}})},4540:(A,e,t)=>{t.d(e,{BD:()=>m,Bl:()=>L,C7:()=>u,Dk:()=>B,Dr:()=>g,E2:()=>y,Ec:()=>G,Gz:()=>K,IW:()=>j,J2:()=>T,KK:()=>N,M0:()=>U,Qn:()=>h,Qt:()=>x,Qy:()=>s,Rk:()=>d,SK:()=>k,Ut:()=>_,Wg:()=>Q,XS:()=>R,ZE:()=>C,Zv:()=>Z,_d:()=>O,_f:()=>a,c6:()=>D,du:()=>J,eR:()=>q,f$:()=>$,f7:()=>o,fM:()=>Y,fV:()=>v,fd:()=>E,g9:()=>W,iw:()=>F,lf:()=>p,mL:()=>eA,n5:()=>l,o_:()=>I,pM:()=>z,pi:()=>b,q6:()=>H,rG:()=>w,sF:()=>X,sO:()=>f,tZ:()=>V,tp:()=>c,uL:()=>S,uT:()=>M,vm:()=>AA,wg:()=>iA,zN:()=>P,zg:()=>tA});const i=globalThis[Symbol.for("ZIGAR")]||={};function n(A){return i[A]||=Symbol(A)}function r(A){return n(A)}const s=r("memory"),a=r("slots"),o=r("parent"),g=r("zig"),I=r("name"),C=r("type"),Q=r("flags"),c=r("class"),B=r("tag"),l=r("props"),u=r("pointer"),E=r("sentinel"),f=r("array"),h=(r("items"),r("target")),p=r("entries"),y=r("max length"),d=r("keys"),m=r("address"),b=r("length"),D=r("last address"),S=r("last length"),w=r("proxy"),v=r("cache"),k=r("size"),x=r("bit size"),G=r("align"),N=r("const target"),U=r("environment"),F=r("attributes"),M=r("primitive"),R=r("getters"),L=r("setters"),z=r("typed array"),J=r("throwing"),q=r("promise"),O=r("generator"),K=r("allocator"),T=(r("fallback"),r("signature")),Y=r("string retval"),H=r("update"),P=r("restore"),_=r("reset"),V=r("vivificate"),W=r("visit"),X=r("copy"),j=r("shape"),Z=r("initialize"),$=r("restrict"),AA=r("finalize"),eA=r("cast"),tA=r("return"),iA=r("yield")},8e3:(A,e,t)=>{t.d(e,{$k:()=>h,Au:()=>m,BF:()=>g,FU:()=>b,Fy:()=>p,Ie:()=>N,L9:()=>o,NV:()=>v,Ng:()=>k,UF:()=>U,V_:()=>x,WG:()=>Q,Y$:()=>y,ZG:()=>u,be:()=>D,cv:()=>d,dI:()=>G,g7:()=>I,hJ:()=>f,n8:()=>r,ny:()=>s,on:()=>E,pU:()=>w,vQ:()=>a,wx:()=>C,xN:()=>S,y4:()=>c});var i=t(1388),n=t(4540);function r(A,e,t){if(t){const{set:i,get:n,value:r,enumerable:s,configurable:a=!0,writable:o=!0}=t;Object.defineProperty(A,e,n||i?{get:n,set:i,configurable:a,enumerable:s}:{value:r,configurable:a,enumerable:s,writable:o})}return A}function s(A,e){for(const[t,i]of Object.entries(e))r(A,t,i);for(const t of Object.getOwnPropertySymbols(e))r(A,t,e[t]);return A}function a(A){return void 0!==A?{value:A}:void 0}function o(A){return"return"===A?.error?A=>{try{return A()}catch(A){return A}}:A=>A()}function g({type:A,bitSize:e}){switch(A){case i.Z9.Bool:return"boolean";case i.Z9.Int:case i.Z9.Uint:if(e>32)return"bigint";case i.Z9.Float:return"number"}}function I(A,e="utf-8"){const t=B[e]||=new TextDecoder(e);let i;if(Array.isArray(A))if(1===A.length)i=A[0];else{let e=0;for(const t of A)e+=t.length;const{constructor:t}=A[0];i=new t(e);let n=0;for(const e of A)i.set(e,n),n+=e.length}else i=A;return"SharedArrayBuffer"===i.buffer[Symbol.toStringTag]&&(i=new i.constructor(i)),t.decode(i)}function C(A,e="utf-8"){if("utf-16"===e){const{length:e}=A,t=new Uint16Array(e);for(let i=0;i<e;i++)t[i]=A.charCodeAt(i);return t}return(l[e]||=new TextEncoder).encode(A)}function Q(A){const e=new Uint8Array(A.buffer,A.byteOffset,A.byteLength),t=String.fromCharCode.apply(null,e);return btoa(t)}function c(A){const e=atob(A),t=new Uint8Array(e.length);for(let A=0;A<t.byteLength;A++)t[A]=e.charCodeAt(A);return new DataView(t.buffer)}const B={},l={};function u(A,e,t){let i=0,n=A.length;if(0===n)return 0;for(;i<n;){const r=Math.floor((i+n)/2);t(A[r])<=e?i=r+1:n=r}return n}const E=function(A,e){return!!e&&!!(A&e-1)},f=function(A,e){return A+(e-1)&~(e-1)},h=0,p=4294967295,y=-1,d=function(A){return 2863311530===A||-1431655766===A},m=function(A,e){return A+e};function b(A){if("number"==typeof A.length)return A;const e=A[Symbol.iterator](),t=e.next(),i=t.value?.length;if("number"==typeof i&&"length"===Object.keys(t.value).join())return Object.assign(function*(){let A;for(;!(A=e.next()).done;)yield A.value}(),{length:i});{const A=[];let i=t;for(;!i.done;)A.push(i.value),i=e.next();return A}}function D(A,e){const{constructor:t}=A;return t===e?1:t.child===e?A.length:void 0}function S(A,e){return A===e||A?.[n.J2]===e[n.J2]&&A?.[n.M0]!==e?.[n.M0]}function w(A,e){return A instanceof e||S(A?.constructor,e)}function v({get:A,set:e}){return A.special=e.special=!0,{get:A,set:e}}function k(){return this}function x(){return this[n.rG]}function G(){return String(this)}function N(){}class U{map=new WeakMap;find(A){return this.map.get(A)}save(A,e){return this.map.set(A,e),e}}},8502:(A,e,t)=>{t.d(e,{k:()=>a});var i=t(1388),n=t(6560),r=t(4762),s=t(4540);function a(A,e,t,n){let r,a=this[s._f][A];if(!a){if(t&i.F7.IgnoreUncreated)return;a=this[s.tZ](A)}n&&(r=n[s._f][A],!r)||a[s.g9](e,t,r)}(0,n.co)({defineVisitor:()=>({value(A,e,t){let i;i="string"==typeof A?o[A]:A,i.call(this,e,t)}})});const o={copy(A,e){const t=e[s._f][0];if(this[s.Qy][s.Dr]&&t&&!t[s.Qy][s.Dr])throw new r.x1;this[s._f][0]=t},clear(A){A&i.F7.IsInactive&&(this[s._f][0]=void 0)},reset(){this[s._f][0]=void 0,this[s.c6]=void 0}}},9025:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(8502);(0,n.co)({defineVisitorArgStruct(A){const e=[];let t;for(const[n,{slot:r,structure:s}]of A.entries())s.flags&i.yi.HasPointer&&(0===n?t=r:e.push(r));return{value(A,n,s){if(!(n&i.F7.IgnoreArguments)&&e.length>0)for(const t of e)r.k.call(this,t,A,n|i.F7.IsImmutable,s);n&i.F7.IgnoreRetval||void 0===t||r.k.call(this,t,A,n,s)}}}})},9426:(A,e,t)=>{var i=t(6560),n=t(8502);(0,i.co)({defineVisitorArray:()=>({value(A,e,t){for(let i=0,r=this.length;i<r;i++)n.k.call(this,i,A,e,t)}})})},2059:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(8502);(0,n.co)({defineVisitorErrorUnion(A,e){const{slot:t}=A;return{value(A,n,s){e.call(this)&&(n|=i.F7.IsInactive),n&i.F7.IsInactive&&n&i.F7.IgnoreInactive||r.k.call(this,t,A,n,s)}}}})},1991:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(8502);(0,n.co)({defineVisitorOptional(A,e){const{slot:t}=A;return{value(A,n,s){e.call(this)||(n|=i.F7.IsInactive),n&i.F7.IsInactive&&n&i.F7.IgnoreInactive||r.k.call(this,t,A,n,s)}}}})},5558:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(8502);(0,n.co)({defineVisitorStruct(A){const e=A.filter((A=>A.structure?.flags&i.yi.HasPointer)).map((A=>A.slot));return{value(A,t,i){for(const n of e)r.k.call(this,n,A,t,i)}}}})},6584:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(8502);(0,n.co)({defineVisitorUnion(A,e){const t=[];for(const[e,{slot:n,structure:r}]of A.entries())r?.flags&i.yi.HasPointer&&t.push({index:e,slot:n});return{value(A,n,s){const a=e?.call(this);for(const{index:e,slot:o}of t){let t=n;e!==a&&(t|=i.F7.IsInactive),t&i.F7.IsInactive&&t&i.F7.IgnoreInactive||r.k.call(this,o,A,t,s)}}}}})}},r={};function s(A){var e=r[A];if(void 0!==e)return e.exports;var t=r[A]={exports:{}};return n[A](t,t.exports,s),t.exports}A="function"==typeof Symbol?Symbol("webpack queues"):"__webpack_queues__",e="function"==typeof Symbol?Symbol("webpack exports"):"__webpack_exports__",t="function"==typeof Symbol?Symbol("webpack error"):"__webpack_error__",i=A=>{A&&A.d<1&&(A.d=1,A.forEach((A=>A.r--)),A.forEach((A=>A.r--?A.r++:A())))},s.a=(n,r,s)=>{var a;s&&((a=[]).d=-1);var o,g,I,C=new Set,Q=n.exports,c=new Promise(((A,e)=>{I=e,g=A}));c[e]=Q,c[A]=A=>(a&&A(a),C.forEach(A),c.catch((A=>{}))),n.exports=c,r((n=>{var r;o=(n=>n.map((n=>{if(null!==n&&"object"==typeof n){if(n[A])return n;if(n.then){var r=[];r.d=0,n.then((A=>{s[e]=A,i(r)}),(A=>{s[t]=A,i(r)}));var s={};return s[A]=A=>A(r),s}}var a={};return a[A]=A=>{},a[e]=n,a})))(n);var s=()=>o.map((A=>{if(A[t])throw A[t];return A[e]})),g=new Promise((e=>{(r=()=>e(s)).r=0;var t=A=>A!==a&&!C.has(A)&&(C.add(A),A&&!A.d&&(r.r++,A.push(r)));o.map((e=>e[A](t)))}));return r.r?g:s()}),(A=>(A?I(c[t]=A):g(Q),i(a)))),a&&a.d<0&&(a.d=0)},s.d=(A,e)=>{for(var t in e)s.o(e,t)&&!s.o(A,t)&&Object.defineProperty(A,t,{enumerable:!0,get:e[t]})},s.o=(A,e)=>Object.prototype.hasOwnProperty.call(A,e),(()=>{var A;if("string"==typeof import.meta.url&&(A=import.meta.url),!A)throw new Error("Automatic publicPath is not supported in this browser");A=A.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),s.p=A})();var a=s(8156),o=(a=await a).b,g=a.A;export{o as CreatorTool,g as default};
2
3
  //# sourceMappingURL=index.mjs.map