domesticmouse 3 years ago
parent 67bacfd838
commit 584b313f54

@ -331,6 +331,8 @@ images/navigation_and_routing3.png
images/navigation_and_routing3_thumb.png
images/navigation_and_routing4.png
images/navigation_and_routing4_thumb.png
images/next_gen_ui_demo.png
images/next_gen_ui_demo_thumb.png
images/place_tracker1.png
images/place_tracker1_thumb.png
images/place_tracker2.png
@ -397,6 +399,7 @@ mock_dependencies_using_mockito.html
navigate_to_a_new_screen_and_back.html
navigate_with_named_routes.html
navigation_and_routing.html
next_gen_u_i_demo.html
packages/$sdk/dev_compiler/amd/require.js
packages/$sdk/dev_compiler/web/dart_stack_trace_mapper.js
packages/_fe_analyzer_shared/src/parser/parser.md

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

@ -320,6 +320,16 @@
<div class="demo-card__secondary mdc-typography mdc-typography--body2">An example app showing how to embed Flutter in a web application...</div>
</div>
</div>
<div class="mdc-card demo-card mdc-elevation--z0" search-attrs="next gen ui demo platform:Windows, macOS, Linux, web, Android, iOS Windows, macOS, Linux, web, Android, iOS package:flutter_animate type:sample">
<div class="mdc-card__primary-action demo-card__primary-action" tabindex="0" href="next_gen_u_i_demo.html">
<div class="mdc-card__media mdc-card__media--16-9 demo-card__media" style="background-image: url('images/next_gen_ui_demo_thumb.png');"></div>
<div class="demo-card__label type-label">sample</div>
<div class="demo-card__primary">
<h2 class="demo-card__title mdc-typography mdc-typography--headline6">Next Gen UI demo</h2>
</div>
<div class="demo-card__secondary mdc-typography mdc-typography--body2">A sample version of the Next Generation UI codelab for demoing a...</div>
</div>
</div>
<div class="mdc-card demo-card mdc-elevation--z0" search-attrs="animate a page route transition tag:cookbook cookbook tag:animation animation type:cookbook">
<div class="mdc-card__primary-action demo-card__primary-action" tabindex="0" href="animate_a_page_route_transition.html">
<div class="mdc-card__media mdc-card__media--16-9 demo-card__media" style="background-image: url('images/cookbook/animation-page-route-animation_thumb.png');"></div>

@ -0,0 +1,74 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Flutter samples</title>
<link href="styles.css" rel="stylesheet" media="screen">
<link href="https://fonts.googleapis.com/css?family=Google+Sans|Google+Sans+Display|Roboto:300,400,500&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="packages/mdc_web/material-components-web.min.js"></script>
<script src="https://kit.fontawesome.com/16cc04762e.js"></script>
<script defer src="description.dart.js"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-67589403-8"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-67589403-8');
</script>
</head>
<body>
<div class="content">
<div class="navbar">
<a class="leading" href="./">
<img src="images/logos/logo_lockup_flutter_horizontal_wht_96.png" />
<span class="title">Samples</span>
</a>
<div class="nav-items">
<a href="https://flutter.dev/">Flutter Home</a>
<a href="https://api.flutter.dev/">API Docs</a>
</div>
</div>
<div class="container">
<div class="description-title-row">
<h1>Next Gen UI demo</h1>
<div class="type-label type-label-bordered">sample</div>
</div>
<p>By Flutter</p>
<div class="toolbar">
<div class="buttons">
<button class="mdc-button mdc-button--outlined" onclick="window.location.href = 'web/next_gen_ui_demo';"><span class="mdc-button__ripple"></span> Launch App</button><button class="mdc-button mdc-button--outlined" onclick="window.location.href = 'https://github.com/flutter/samples/tree/main/next_gen_ui_demo';">
<div class="mdc-button__ripple"></div>
<i class="material-icons mdc-button__icon" aria-hidden="true">code</i>
<span class="mdc-button__label">Source Code</span>
</button>
</div>
<div class="tags-container">
<div class="tags-label">
<i class="material-icons">local_offer</i>
<span>Tags</span>
</div>
<div class="tags">
</div>
</div>
</div>
<div class="slider-container">
<div class="slider-content">
<div class="slider-single"><img class="slider-single-image" src="images/next_gen_ui_demo.png" alt="Next Gen UI demo screenshot" /></div>
</div>
</div>
<div class="description">
<p>A sample version of the Next Generation UI codelab for demoing at I/O Connect</p>
</div>
</div>
</div>
</body>
<div class="footer">
<span>© Flutter 2023</span>
</div>
</html>

@ -653,3 +653,20 @@ samples:
web: https://flutter-angular.web.app/
type: sample
- name: Next Gen UI demo
author: Flutter
screenshots:
- url: images/next_gen_ui_demo.png
alt: Next Gen UI demo screenshot
source: https://github.com/flutter/samples/tree/main/next_gen_ui_demo
description: A sample version of the Next Generation UI codelab for demoing at I/O Connect
difficulty: advanced
packages:
- flutter_animate
platforms:
- Windows, macOS, Linux, web, Android, iOS
links:
- href: https://codelabs.developers.google.com/codelabs/flutter-next-gen-uis
text: Codelab
type: sample
web: web/next_gen_ui_demo

File diff suppressed because one or more lines are too long

@ -1 +1 @@
9563d0eff0708de363c4381398f5e872
d2d6162935309dce9654cc799c96b8ad

@ -19,17 +19,17 @@ const RESOURCES = {"flutter.js": "6fef97aeca90b426343ba6c5c9dc5d4a",
"assets/fonts/MaterialIcons-Regular.otf": "98631fbfabcfd2d0d0fdcfe4987700e1",
"assets/NOTICES": "38b48618b31b53389b0300eb0131dd59",
"assets/FontManifest.json": "4c767b5e6b82956715d1ef81025503ad",
"assets/AssetManifest.bin": "2b1e554db5b175f82254fe783f5bbaa6",
"assets/AssetManifest.json": "b1c84506c7771ff360bf77a996e7730f",
"index.html": "2edbcde5c1507aef705e1735644ea184",
"/": "2edbcde5c1507aef705e1735644ea184",
"assets/AssetManifest.smcbin": "2b1e554db5b175f82254fe783f5bbaa6",
"index.html": "d43246bf3034a20d76a465749b947cfe",
"/": "d43246bf3034a20d76a465749b947cfe",
"favicon.png": "5dcef449791fa27946b3d35ad8803796",
"version.json": "42906adb43c8fac5e6348de24f5c28d0",
"icons/Icon-maskable-192.png": "c457ef57daa1d16f64b27b786ec2ea3c",
"icons/Icon-192.png": "ac9a721a12bbc803b44f645561ecb1e1",
"icons/Icon-512.png": "96e752610906ba2a93c65f8abe1645f1",
"icons/Icon-maskable-512.png": "301a7604d45b3e739efc881eb04896ea",
"main.dart.js": "730f4a3f3b3fa919daf1631e415383ad",
"main.dart.js": "35952c76001cd15786463ae09ba34ff7",
"manifest.json": "68625bab86590a7ebe9e384ad0eedabd"};
// The application shell files that are downloaded before a service worker can
// start.

@ -34,7 +34,7 @@
<script>
// The value below is injected by flutter build, do not touch.
var serviceWorkerVersion = "3569313012";
var serviceWorkerVersion = "2484390616";
</script>
<!-- This script adds the flutter initialization JS code -->
<script src="flutter.js" defer></script>

@ -26426,7 +26426,7 @@ $1(a){var s=$.dc
s=(s==null?$.dc=A.hX(self.window.flutterConfiguration):s).b
if(s==null)s=null
else{s=s.canvasKitBaseUrl
if(s==null)s=null}return(s==null?"https://www.gstatic.com/flutter-canvaskit/d44b5a94c976fbb65815374f61ab5392a220b084/":s)+a},
if(s==null)s=null}return(s==null?"https://www.gstatic.com/flutter-canvaskit/b4fb11214dd2dda6ce012dd98ea498e9e8b91262/":s)+a},
$S:87}
A.akH.prototype={
$1(a){this.a.remove()
@ -55267,7 +55267,7 @@ EF(a){var s,r={},q=a.a
if(q==null)q=$.Xx()
r.a=r.b=null
s=t.P
A.aCo(q.af7("AssetManifest.bin",A.aJ0(),t.jo).bo(new A.Y2(r,this,a,q),s),new A.Y3(r),s,t.K)
A.aCo(q.af7("AssetManifest.smcbin",A.aJ0(),t.jo).bo(new A.Y2(r,this,a,q),s),new A.Y3(r),s,t.K)
s=r.a
if(s!=null)return s
s=new A.ao($.al,t.Lv)

@ -1 +1 @@
9563d0eff0708de363c4381398f5e872
d2d6162935309dce9654cc799c96b8ad

@ -16,17 +16,17 @@ const RESOURCES = {"flutter.js": "6fef97aeca90b426343ba6c5c9dc5d4a",
"assets/NOTICES": "5476aa7453336720263d627aab0c6ac1",
"assets/packages/cupertino_icons/assets/CupertinoIcons.ttf": "57d849d738900cfd590e9adc7e208250",
"assets/FontManifest.json": "dc3d03800ccca4601324923c0b1d6d57",
"assets/AssetManifest.bin": "a3d922a0b0bb96200631d1d9f758ce7d",
"assets/AssetManifest.json": "2efbb41d7877d10aac9d091f58ccd7b9",
"index.html": "71c0feb0051608107ffb6ea125f47fb6",
"/": "71c0feb0051608107ffb6ea125f47fb6",
"assets/AssetManifest.smcbin": "a3d922a0b0bb96200631d1d9f758ce7d",
"index.html": "f57db99f69c255357c54b0eb3ebd300a",
"/": "f57db99f69c255357c54b0eb3ebd300a",
"favicon.png": "5dcef449791fa27946b3d35ad8803796",
"version.json": "08c8c94a1f10fbdfa4e8389d31bd1ed8",
"icons/Icon-maskable-192.png": "c457ef57daa1d16f64b27b786ec2ea3c",
"icons/Icon-192.png": "ac9a721a12bbc803b44f645561ecb1e1",
"icons/Icon-512.png": "96e752610906ba2a93c65f8abe1645f1",
"icons/Icon-maskable-512.png": "301a7604d45b3e739efc881eb04896ea",
"main.dart.js": "97a02ff2ea8fe00e1891a312ad2a4aac",
"main.dart.js": "f579551a493e570e099c1ad123aa7c07",
"manifest.json": "abaeea879f3279d2833ea9b6d03fcc4f"};
// The application shell files that are downloaded before a service worker can
// start.

@ -34,7 +34,7 @@
<script>
// The value below is injected by flutter build, do not touch.
var serviceWorkerVersion = "3751081175";
var serviceWorkerVersion = "4256298736";
</script>
<!-- This script adds the flutter initialization JS code -->
<script src="flutter.js" defer></script>

@ -27046,7 +27046,7 @@ $1(a){var s=$.di
s=(s==null?$.di=A.i3(self.window.flutterConfiguration):s).b
if(s==null)s=null
else{s=s.canvasKitBaseUrl
if(s==null)s=null}return(s==null?"https://www.gstatic.com/flutter-canvaskit/d44b5a94c976fbb65815374f61ab5392a220b084/":s)+a},
if(s==null)s=null}return(s==null?"https://www.gstatic.com/flutter-canvaskit/b4fb11214dd2dda6ce012dd98ea498e9e8b91262/":s)+a},
$S:71}
A.amA.prototype={
$1(a){this.a.remove()

@ -1 +1 @@
95c3e2b9852183996d6553a754760307
d984d57b1015afdbafb53ca23e44106e

@ -61,17 +61,17 @@ const RESOURCES = {"flutter.js": "6fef97aeca90b426343ba6c5c9dc5d4a",
"assets/NOTICES": "9486c3029a8d0d3ba2de5bed1134e4ae",
"assets/packages/cupertino_icons/assets/CupertinoIcons.ttf": "57d849d738900cfd590e9adc7e208250",
"assets/FontManifest.json": "202bfb5144bfc3359dc068bcf44cba82",
"assets/AssetManifest.bin": "e8ddc58b64dfdcedda834d86b809c465",
"assets/AssetManifest.json": "411fe662431d2097491fc9216d6797e7",
"index.html": "0ddea2c5a7cd5df40c5d4e23714e131f",
"/": "0ddea2c5a7cd5df40c5d4e23714e131f",
"assets/AssetManifest.smcbin": "e8ddc58b64dfdcedda834d86b809c465",
"index.html": "7823674180fb00de501a3ff44575e642",
"/": "7823674180fb00de501a3ff44575e642",
"favicon.png": "5dcef449791fa27946b3d35ad8803796",
"version.json": "4af817f8de4133edacca0908f16858d5",
"icons/Icon-maskable-192.png": "c457ef57daa1d16f64b27b786ec2ea3c",
"icons/Icon-192.png": "ac9a721a12bbc803b44f645561ecb1e1",
"icons/Icon-512.png": "96e752610906ba2a93c65f8abe1645f1",
"icons/Icon-maskable-512.png": "301a7604d45b3e739efc881eb04896ea",
"main.dart.js": "120d11f5f9c640655c6a6816224753a2",
"main.dart.js": "b074bfde0ca9ccf7e95250a60bf6501a",
"manifest.json": "d3e8be9819697c196251e6e977053336"};
// The application shell files that are downloaded before a service worker can
// start.

@ -34,7 +34,7 @@
<script>
// The value below is injected by flutter build, do not touch.
var serviceWorkerVersion = "321260079";
var serviceWorkerVersion = "35188833";
</script>
<!-- This script adds the flutter initialization JS code -->
<script src="flutter.js" defer></script>

@ -27765,7 +27765,7 @@ $1(a){var s=$.dl
s=(s==null?$.dl=A.ip(self.window.flutterConfiguration):s).b
if(s==null)s=null
else{s=s.canvasKitBaseUrl
if(s==null)s=null}return(s==null?"https://www.gstatic.com/flutter-canvaskit/d44b5a94c976fbb65815374f61ab5392a220b084/":s)+a},
if(s==null)s=null}return(s==null?"https://www.gstatic.com/flutter-canvaskit/b4fb11214dd2dda6ce012dd98ea498e9e8b91262/":s)+a},
$S:44}
A.apw.prototype={
$1(a){this.a.remove()
@ -59203,7 +59203,7 @@ Ib(a){var s,r={},q=a.a
if(q==null)q=$.a_d()
r.a=r.b=null
s=t.P
A.aHY(q.amf("AssetManifest.bin",A.aP9(),t.jo).c3(0,new A.a_R(r,this,a,q),s),new A.a_S(r),s,t.K)
A.aHY(q.amf("AssetManifest.smcbin",A.aP9(),t.jo).c3(0,new A.a_R(r,this,a,q),s),new A.a_S(r),s,t.K)
s=r.a
if(s!=null)return s
s=new A.al($.a6,t.Lv)

@ -1 +1 @@
95c3e2b9852183996d6553a754760307
d984d57b1015afdbafb53ca23e44106e

@ -16,17 +16,17 @@ const RESOURCES = {"flutter.js": "6fef97aeca90b426343ba6c5c9dc5d4a",
"assets/NOTICES": "902cdb8816c79072901095f140f911a7",
"assets/packages/cupertino_icons/assets/CupertinoIcons.ttf": "57d849d738900cfd590e9adc7e208250",
"assets/FontManifest.json": "dc3d03800ccca4601324923c0b1d6d57",
"assets/AssetManifest.bin": "a3d922a0b0bb96200631d1d9f758ce7d",
"assets/AssetManifest.json": "2efbb41d7877d10aac9d091f58ccd7b9",
"index.html": "ad581d8755b9c7cf3c3c8ec68fec6871",
"/": "ad581d8755b9c7cf3c3c8ec68fec6871",
"assets/AssetManifest.smcbin": "a3d922a0b0bb96200631d1d9f758ce7d",
"index.html": "1b921f63e74d02a54ed5590e4e8a67b4",
"/": "1b921f63e74d02a54ed5590e4e8a67b4",
"favicon.png": "5dcef449791fa27946b3d35ad8803796",
"version.json": "f18d220f770434409d5d68bddf9bd1af",
"icons/Icon-maskable-192.png": "c457ef57daa1d16f64b27b786ec2ea3c",
"icons/Icon-192.png": "ac9a721a12bbc803b44f645561ecb1e1",
"icons/Icon-512.png": "96e752610906ba2a93c65f8abe1645f1",
"icons/Icon-maskable-512.png": "301a7604d45b3e739efc881eb04896ea",
"main.dart.js": "861ab4663680e7c7771c5e843ec28696",
"main.dart.js": "fe095431cdd24f9825629106e0dd18fb",
"manifest.json": "05f725318f41bf1601ead9ffa9355535"};
// The application shell files that are downloaded before a service worker can
// start.

@ -34,7 +34,7 @@
<script>
// The value below is injected by flutter build, do not touch.
var serviceWorkerVersion = "4137929884";
var serviceWorkerVersion = "465321508";
</script>
<!-- This script adds the flutter initialization JS code -->
<script src="flutter.js" defer></script>

@ -31746,7 +31746,7 @@ $1(a){var s=$.dJ
s=(s==null?$.dJ=A.iT(self.window.flutterConfiguration):s).b
if(s==null)s=null
else{s=s.canvasKitBaseUrl
if(s==null)s=null}return(s==null?"https://www.gstatic.com/flutter-canvaskit/d44b5a94c976fbb65815374f61ab5392a220b084/":s)+a},
if(s==null)s=null}return(s==null?"https://www.gstatic.com/flutter-canvaskit/b4fb11214dd2dda6ce012dd98ea498e9e8b91262/":s)+a},
$S:172}
A.aAV.prototype={
$1(a){this.a.remove()

@ -1 +1 @@
95c3e2b9852183996d6553a754760307
d984d57b1015afdbafb53ca23e44106e

@ -16,17 +16,17 @@ const RESOURCES = {"flutter.js": "6fef97aeca90b426343ba6c5c9dc5d4a",
"assets/NOTICES": "b7d6387e198c2680df4e69e021576d13",
"assets/packages/cupertino_icons/assets/CupertinoIcons.ttf": "57d849d738900cfd590e9adc7e208250",
"assets/FontManifest.json": "dc3d03800ccca4601324923c0b1d6d57",
"assets/AssetManifest.bin": "a3d922a0b0bb96200631d1d9f758ce7d",
"assets/AssetManifest.json": "2efbb41d7877d10aac9d091f58ccd7b9",
"index.html": "62b2a910340f3b7c9e145c231a43e843",
"/": "62b2a910340f3b7c9e145c231a43e843",
"assets/AssetManifest.smcbin": "a3d922a0b0bb96200631d1d9f758ce7d",
"index.html": "66595355183ae6d5a4a89bcbf0cd9287",
"/": "66595355183ae6d5a4a89bcbf0cd9287",
"favicon.png": "5dcef449791fa27946b3d35ad8803796",
"version.json": "9c336dc978923faadf6aa0ad75d0ea12",
"icons/Icon-maskable-192.png": "c457ef57daa1d16f64b27b786ec2ea3c",
"icons/Icon-192.png": "ac9a721a12bbc803b44f645561ecb1e1",
"icons/Icon-512.png": "96e752610906ba2a93c65f8abe1645f1",
"icons/Icon-maskable-512.png": "301a7604d45b3e739efc881eb04896ea",
"main.dart.js": "b5d699ac3179b3d463f262f4527512d0",
"main.dart.js": "b13c034d1af57b293cf424dcefce6bab",
"manifest.json": "b3e6ffc626a7ddc3a2a95f62ee423a43"};
// The application shell files that are downloaded before a service worker can
// start.

@ -34,7 +34,7 @@
<script>
// The value below is injected by flutter build, do not touch.
var serviceWorkerVersion = "3179301044";
var serviceWorkerVersion = "3955111132";
</script>
<!-- This script adds the flutter initialization JS code -->
<script src="flutter.js" defer></script>

@ -24731,7 +24731,7 @@ $1(a){var s=$.cY
s=(s==null?$.cY=A.hv(self.window.flutterConfiguration):s).b
if(s==null)s=null
else{s=s.canvasKitBaseUrl
if(s==null)s=null}return(s==null?"https://www.gstatic.com/flutter-canvaskit/d44b5a94c976fbb65815374f61ab5392a220b084/":s)+a},
if(s==null)s=null}return(s==null?"https://www.gstatic.com/flutter-canvaskit/b4fb11214dd2dda6ce012dd98ea498e9e8b91262/":s)+a},
$S:82}
A.agL.prototype={
$1(a){this.a.remove()

@ -0,0 +1 @@
d2d6162935309dce9654cc799c96b8ad

@ -0,0 +1 @@
{"assets/fonts/Exo-Bold.ttf":["assets/fonts/Exo-Bold.ttf"],"assets/fonts/Exo-Medium.ttf":["assets/fonts/Exo-Medium.ttf"],"assets/fonts/OFL.txt":["assets/fonts/OFL.txt"],"assets/images/bg-base.jpg":["assets/images/bg-base.jpg"],"assets/images/bg-light-receive.png":["assets/images/bg-light-receive.png"],"assets/images/button-start-hover.png":["assets/images/button-start-hover.png"],"assets/images/button-start.png":["assets/images/button-start.png"],"assets/images/fg-base.png":["assets/images/fg-base.png"],"assets/images/fg-light-emit.png":["assets/images/fg-light-emit.png"],"assets/images/fg-light-receive.png":["assets/images/fg-light-receive.png"],"assets/images/mg-base.png":["assets/images/mg-base.png"],"assets/images/mg-light-emit.png":["assets/images/mg-light-emit.png"],"assets/images/mg-light-receive.png":["assets/images/mg-light-receive.png"],"assets/images/particle-wave.png":["assets/images/particle-wave.png"],"assets/images/select-left.png":["assets/images/select-left.png"],"assets/images/select-right.png":["assets/images/select-right.png"],"assets/shaders/orb_shader.frag":["assets/shaders/orb_shader.frag"],"assets/shaders/ui_glitch.frag":["assets/shaders/ui_glitch.frag"],"packages/cupertino_icons/assets/CupertinoIcons.ttf":["packages/cupertino_icons/assets/CupertinoIcons.ttf"]}

@ -0,0 +1 @@
[{"family":"MaterialIcons","fonts":[{"asset":"fonts/MaterialIcons-Regular.otf"}]},{"family":"Exo","fonts":[{"asset":"assets/fonts/Exo-Bold.ttf"},{"asset":"assets/fonts/Exo-Medium.ttf"}]},{"family":"packages/cupertino_icons/CupertinoIcons","fonts":[{"asset":"packages/cupertino_icons/assets/CupertinoIcons.ttf"}]}]

File diff suppressed because it is too large Load Diff

@ -0,0 +1,93 @@
Copyright 2017 The Exo Project Authors (https://github.com/NDISCOVER/Exo-1.0)
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

File diff suppressed because one or more lines are too long

@ -0,0 +1,34 @@
{
"sksl": "// This SkSL shader is autogenerated by spirv-cross.\n\nfloat4 flutter_FragCoord;\n\nuniform vec2 uResolution;\nuniform float uTime;\nuniform shader uTex;\nuniform half2 uTex_size;\n\nvec4 oColor;\n\nvec2 FLT_flutter_local_FlutterFragCoord()\n{\n return flutter_FragCoord.xy;\n}\n\nfloat FLT_flutter_local_cubicPulse(float c, float w, inout float x)\n{\n x = abs(x - c);\n if (x > w)\n {\n return 0.0;\n }\n x /= w;\n return 1.0 - ((x * x) * (3.0 - (2.0 * x)));\n}\n\nfloat FLT_flutter_local_twoSin(inout float x)\n{\n x = (6.4899997711181640625 * x) - 0.64999997615814208984375;\n float t = ((-0.699999988079071044921875) * sin(6.80000019073486328125 * x)) + (1.39999997615814208984375 * sin(2.900000095367431640625 * x));\n t = (t / 4.099999904632568359375) + 0.5;\n return t;\n}\n\nfloat FLT_flutter_local_hash_1d(float v)\n{\n float u = 50.0 * sin(v * 3000.0);\n return (2.0 * fract((2.0 * u) * u)) - 1.0;\n}\n\nvoid FLT_main()\n{\n vec2 uv = vec2(FLT_flutter_local_FlutterFragCoord()) / uResolution;\n float param = 0.5;\n float param_1 = 0.0500000007450580596923828125;\n float param_2 = fract(uTime / 4.0);\n float _127 = FLT_flutter_local_cubicPulse(param, param_1, param_2);\n float t_2 = _127;\n float param_3 = fract(uTime / 5.0);\n float _134 = FLT_flutter_local_twoSin(param_3);\n float t_1 = _134;\n float glitchScale = mix(0.0, 8.0, t_1 + t_2);\n float aberrationSize = mix(0.0, 5.0, t_1 + t_2);\n float param_4 = uv.y;\n float h = FLT_flutter_local_hash_1d(param_4);\n float hs = sign(h);\n h = max(h, 0.0);\n h *= h;\n h = floor(h + float(0.5)) * hs;\n uv += (vec2(h * glitchScale, 0.0) / uResolution);\n vec2 redOffset = vec2(aberrationSize, 0.0) / uResolution;\n vec2 greenOffset = vec2(0.0) / uResolution;\n vec2 blueOffset = vec2(-aberrationSize, 0.0) / uResolution;\n vec2 redUv = uv + redOffset;\n vec2 greenUv = uv + greenOffset;\n vec2 blueUv = uv + blueOffset;\n vec2 ra = uTex.eval(uTex_size * redUv).xw;\n vec2 ga = uTex.eval(uTex_size * greenUv).yw;\n vec2 ba = uTex.eval(uTex_size * blueUv).zw;\n ra.x /= ra.y;\n ga.x /= ga.y;\n ba.x /= ba.y;\n float alpha = max(ra.y, max(ga.y, ba.y));\n oColor = vec4(ra.x, ga.x, ba.x, 1.0) * alpha;\n}\n\nhalf4 main(float2 iFragCoord)\n{\n flutter_FragCoord = float4(iFragCoord, 0, 0);\n FLT_main();\n return oColor;\n}\n",
"stage": 1,
"target_platform": 2,
"uniforms": [
{
"array_elements": 0,
"bit_width": 32,
"columns": 1,
"location": 0,
"name": "uResolution",
"rows": 2,
"type": 10
},
{
"array_elements": 0,
"bit_width": 32,
"columns": 1,
"location": 1,
"name": "uTime",
"rows": 1,
"type": 10
},
{
"array_elements": 0,
"bit_width": 0,
"columns": 1,
"location": 2,
"name": "uTex",
"rows": 1,
"type": 12
}
]
}

File diff suppressed because one or more lines are too long

@ -0,0 +1,224 @@
var CanvasKitInit = (() => {
var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
return (
function(CanvasKitInit) {
CanvasKitInit = CanvasKitInit || {};
null;var r;r||(r=typeof CanvasKitInit !== 'undefined' ? CanvasKitInit : {});var aa=Object.assign,ba,ca;r.ready=new Promise(function(a,b){ba=a;ca=b});
(function(a){a.Rd=a.Rd||[];a.Rd.push(function(){a.MakeSWCanvasSurface=function(b){var c=b;if("CANVAS"!==c.tagName&&(c=document.getElementById(b),!c))throw"Canvas with id "+b+" was not found";if(b=a.MakeSurface(c.width,c.height))b.pe=c;return b};a.MakeCanvasSurface||(a.MakeCanvasSurface=a.MakeSWCanvasSurface);a.MakeSurface=function(b,c){var e={width:b,height:c,colorType:a.ColorType.RGBA_8888,alphaType:a.AlphaType.Unpremul,colorSpace:a.ColorSpace.SRGB},f=b*c*4,k=a._malloc(f);if(e=a.Surface._makeRasterDirect(e,
k,4*b))e.pe=null,e.Ve=b,e.Se=c,e.Te=f,e.ze=k,e.getCanvas().clear(a.TRANSPARENT);return e};a.MakeRasterDirectSurface=function(b,c,e){return a.Surface._makeRasterDirect(b,c.byteOffset,e)};a.Surface.prototype.flush=function(b){a.Od(this.Nd);this._flush();if(this.pe){var c=new Uint8ClampedArray(a.HEAPU8.buffer,this.ze,this.Te);c=new ImageData(c,this.Ve,this.Se);b?this.pe.getContext("2d").putImageData(c,0,0,b[0],b[1],b[2]-b[0],b[3]-b[1]):this.pe.getContext("2d").putImageData(c,0,0)}};a.Surface.prototype.dispose=
function(){this.ze&&a._free(this.ze);this.delete()};a.Od=a.Od||function(){};a.qe=a.qe||function(){return null}})})(r);
(function(a){a.Rd=a.Rd||[];a.Rd.push(function(){function b(n,q,x){return n&&n.hasOwnProperty(q)?n[q]:x}function c(n){var q=ea(fa);fa[q]=n;return q}function e(n){return n.naturalHeight||n.videoHeight||n.displayHeight||n.height}function f(n){return n.naturalWidth||n.videoWidth||n.displayWidth||n.width}function k(n,q,x,y){n.bindTexture(n.TEXTURE_2D,q);y||x.alphaType!==a.AlphaType.Premul||n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0);return q}function l(n,q,x){x||q.alphaType!==a.AlphaType.Premul||
n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1);n.bindTexture(n.TEXTURE_2D,null)}a.GetWebGLContext=function(n,q){if(!n)throw"null canvas passed into makeWebGLContext";var x={alpha:b(q,"alpha",1),depth:b(q,"depth",1),stencil:b(q,"stencil",8),antialias:b(q,"antialias",0),premultipliedAlpha:b(q,"premultipliedAlpha",1),preserveDrawingBuffer:b(q,"preserveDrawingBuffer",0),preferLowPowerToHighPerformance:b(q,"preferLowPowerToHighPerformance",0),failIfMajorPerformanceCaveat:b(q,"failIfMajorPerformanceCaveat",
0),enableExtensionsByDefault:b(q,"enableExtensionsByDefault",1),explicitSwapControl:b(q,"explicitSwapControl",0),renderViaOffscreenBackBuffer:b(q,"renderViaOffscreenBackBuffer",0)};x.majorVersion=q&&q.majorVersion?q.majorVersion:"undefined"!==typeof WebGL2RenderingContext?2:1;if(x.explicitSwapControl)throw"explicitSwapControl is not supported";n=ha(n,x);if(!n)return 0;ia(n);t.Zd.getExtension("WEBGL_debug_renderer_info");return n};a.deleteContext=function(n){t===ja[n]&&(t=null);"object"===typeof JSEvents&&
JSEvents.Nf(ja[n].Zd.canvas);ja[n]&&ja[n].Zd.canvas&&(ja[n].Zd.canvas.Qe=void 0);ja[n]=null};a._setTextureCleanup({deleteTexture:function(n,q){var x=fa[q];x&&ja[n].Zd.deleteTexture(x);fa[q]=null}});a.MakeWebGLContext=function(n){if(!this.Od(n))return null;var q=this._MakeGrContext();if(!q)return null;q.Nd=n;var x=q.delete.bind(q);q["delete"]=function(){a.Od(this.Nd);x()}.bind(q);return t.Ce=q};a.MakeGrContext=a.MakeWebGLContext;a.GrDirectContext.prototype.getResourceCacheLimitBytes=function(){a.Od(this.Nd);
this._getResourceCacheLimitBytes()};a.GrDirectContext.prototype.getResourceCacheUsageBytes=function(){a.Od(this.Nd);this._getResourceCacheUsageBytes()};a.GrDirectContext.prototype.releaseResourcesAndAbandonContext=function(){a.Od(this.Nd);this._releaseResourcesAndAbandonContext()};a.GrDirectContext.prototype.setResourceCacheLimitBytes=function(n){a.Od(this.Nd);this._setResourceCacheLimitBytes(n)};a.MakeOnScreenGLSurface=function(n,q,x,y,C,E){if(!this.Od(n.Nd))return null;q=void 0===C||void 0===E?
this._MakeOnScreenGLSurface(n,q,x,y):this._MakeOnScreenGLSurface(n,q,x,y,C,E);if(!q)return null;q.Nd=n.Nd;return q};a.MakeRenderTarget=function(){var n=arguments[0];if(!this.Od(n.Nd))return null;if(3===arguments.length){var q=this._MakeRenderTargetWH(n,arguments[1],arguments[2]);if(!q)return null}else if(2===arguments.length){if(q=this._MakeRenderTargetII(n,arguments[1]),!q)return null}else return null;q.Nd=n.Nd;return q};a.MakeWebGLCanvasSurface=function(n,q,x){q=q||null;var y=n,C="undefined"!==
typeof OffscreenCanvas&&y instanceof OffscreenCanvas;if(!("undefined"!==typeof HTMLCanvasElement&&y instanceof HTMLCanvasElement||C||(y=document.getElementById(n),y)))throw"Canvas with id "+n+" was not found";n=this.GetWebGLContext(y,x);if(!n||0>n)throw"failed to create webgl context: err "+n;n=this.MakeWebGLContext(n);q=this.MakeOnScreenGLSurface(n,y.width,y.height,q);return q?q:(q=y.cloneNode(!0),y.parentNode.replaceChild(q,y),q.classList.add("ck-replaced"),a.MakeSWCanvasSurface(q))};a.MakeCanvasSurface=
a.MakeWebGLCanvasSurface;a.Surface.prototype.makeImageFromTexture=function(n,q){a.Od(this.Nd);n=c(n);if(q=this._makeImageFromTexture(this.Nd,n,q))q.je=n;return q};a.Surface.prototype.makeImageFromTextureSource=function(n,q,x){q||(q={height:e(n),width:f(n),colorType:a.ColorType.RGBA_8888,alphaType:x?a.AlphaType.Premul:a.AlphaType.Unpremul});q.colorSpace||(q.colorSpace=a.ColorSpace.SRGB);a.Od(this.Nd);var y=t.Zd;x=k(y,y.createTexture(),q,x);2===t.version?y.texImage2D(y.TEXTURE_2D,0,y.RGBA,q.width,q.height,
0,y.RGBA,y.UNSIGNED_BYTE,n):y.texImage2D(y.TEXTURE_2D,0,y.RGBA,y.RGBA,y.UNSIGNED_BYTE,n);l(y,q);this._resetContext();return this.makeImageFromTexture(x,q)};a.Surface.prototype.updateTextureFromSource=function(n,q,x){if(n.je){a.Od(this.Nd);var y=n.getImageInfo(),C=t.Zd,E=k(C,fa[n.je],y,x);2===t.version?C.texImage2D(C.TEXTURE_2D,0,C.RGBA,f(q),e(q),0,C.RGBA,C.UNSIGNED_BYTE,q):C.texImage2D(C.TEXTURE_2D,0,C.RGBA,C.RGBA,C.UNSIGNED_BYTE,q);l(C,y,x);this._resetContext();fa[n.je]=null;n.je=c(E);y.colorSpace=
n.getColorSpace();q=this._makeImageFromTexture(this.Nd,n.je,y);x=n.Md.Pd;C=n.Md.Ud;n.Md.Pd=q.Md.Pd;n.Md.Ud=q.Md.Ud;q.Md.Pd=x;q.Md.Ud=C;q.delete();y.colorSpace.delete()}};a.MakeLazyImageFromTextureSource=function(n,q,x){q||(q={height:e(n),width:f(n),colorType:a.ColorType.RGBA_8888,alphaType:x?a.AlphaType.Premul:a.AlphaType.Unpremul});q.colorSpace||(q.colorSpace=a.ColorSpace.SRGB);var y={makeTexture:function(){var C=t,E=C.Zd,v=k(E,E.createTexture(),q,x);2===C.version?E.texImage2D(E.TEXTURE_2D,0,E.RGBA,
q.width,q.height,0,E.RGBA,E.UNSIGNED_BYTE,n):E.texImage2D(E.TEXTURE_2D,0,E.RGBA,E.RGBA,E.UNSIGNED_BYTE,n);l(E,q,x);return c(v)},freeSrc:function(){}};"VideoFrame"===n.constructor.name&&(y.freeSrc=function(){n.close()});return a.Image._makeFromGenerator(q,y)};a.Od=function(n){return n?ia(n):!1};a.qe=function(){return t&&t.Ce&&!t.Ce.isDeleted()?t.Ce:null}})})(r);
(function(a){function b(g){return(f(255*g[3])<<24|f(255*g[0])<<16|f(255*g[1])<<8|f(255*g[2])<<0)>>>0}function c(g){if(g&&g._ck)return g;if(g instanceof Float32Array){for(var d=Math.floor(g.length/4),h=new Uint32Array(d),m=0;m<d;m++)h[m]=b(g.slice(4*m,4*(m+1)));return h}if(g instanceof Uint32Array)return g;if(g instanceof Array&&g[0]instanceof Float32Array)return g.map(b)}function e(g){if(void 0===g)return 1;var d=parseFloat(g);return g&&-1!==g.indexOf("%")?d/100:d}function f(g){return Math.round(Math.max(0,
Math.min(g||0,255)))}function k(g,d){d&&d._ck||a._free(g)}function l(g,d,h){if(!g||!g.length)return M;if(g&&g._ck)return g.byteOffset;var m=a[d].BYTES_PER_ELEMENT;h||(h=a._malloc(g.length*m));a[d].set(g,h/m);return h}function n(g){var d={Wd:M,count:g.length,ke:a.ColorType.RGBA_F32};if(g instanceof Float32Array)d.Wd=l(g,"HEAPF32"),d.count=g.length/4;else if(g instanceof Uint32Array)d.Wd=l(g,"HEAPU32"),d.ke=a.ColorType.RGBA_8888;else if(g instanceof Array){if(g&&g.length){for(var h=a._malloc(16*g.length),
m=0,u=h/4,w=0;w<g.length;w++)for(var z=0;4>z;z++)a.HEAPF32[u+m]=g[w][z],m++;g=h}else g=M;d.Wd=g}else throw"Invalid argument to copyFlexibleColorArray, Not a color array "+typeof g;return d}function q(g){if(!g)return M;var d=R.toTypedArray();if(g.length){if(6===g.length||9===g.length)return l(g,"HEAPF32",I),6===g.length&&a.HEAPF32.set(od,6+I/4),I;if(16===g.length)return d[0]=g[0],d[1]=g[1],d[2]=g[3],d[3]=g[4],d[4]=g[5],d[5]=g[7],d[6]=g[12],d[7]=g[13],d[8]=g[15],I;throw"invalid matrix size";}if(void 0===
g.m11)throw"invalid matrix argument";d[0]=g.m11;d[1]=g.m21;d[2]=g.m41;d[3]=g.m12;d[4]=g.m22;d[5]=g.m42;d[6]=g.m14;d[7]=g.m24;d[8]=g.m44;return I}function x(g){if(!g)return M;var d=da.toTypedArray();if(g.length){if(16!==g.length&&6!==g.length&&9!==g.length)throw"invalid matrix size";if(16===g.length)return l(g,"HEAPF32",Z);d.fill(0);d[0]=g[0];d[1]=g[1];d[3]=g[2];d[4]=g[3];d[5]=g[4];d[7]=g[5];d[10]=1;d[12]=g[6];d[13]=g[7];d[15]=g[8];6===g.length&&(d[12]=0,d[13]=0,d[15]=1);return Z}if(void 0===g.m11)throw"invalid matrix argument";
d[0]=g.m11;d[1]=g.m21;d[2]=g.m31;d[3]=g.m41;d[4]=g.m12;d[5]=g.m22;d[6]=g.m32;d[7]=g.m42;d[8]=g.m13;d[9]=g.m23;d[10]=g.m33;d[11]=g.m43;d[12]=g.m14;d[13]=g.m24;d[14]=g.m34;d[15]=g.m44;return Z}function y(g,d){return l(g,"HEAPF32",d||ua)}function C(g,d,h,m){var u=Ma.toTypedArray();u[0]=g;u[1]=d;u[2]=h;u[3]=m;return ua}function E(g){for(var d=new Float32Array(4),h=0;4>h;h++)d[h]=a.HEAPF32[g/4+h];return d}function v(g,d){return l(g,"HEAPF32",d||V)}function D(g,d){return l(g,"HEAPF32",d||Gb)}a.Color=function(g,
d,h,m){void 0===m&&(m=1);return a.Color4f(f(g)/255,f(d)/255,f(h)/255,m)};a.ColorAsInt=function(g,d,h,m){void 0===m&&(m=255);return(f(m)<<24|f(g)<<16|f(d)<<8|f(h)<<0&268435455)>>>0};a.Color4f=function(g,d,h,m){void 0===m&&(m=1);return Float32Array.of(g,d,h,m)};Object.defineProperty(a,"TRANSPARENT",{get:function(){return a.Color4f(0,0,0,0)}});Object.defineProperty(a,"BLACK",{get:function(){return a.Color4f(0,0,0,1)}});Object.defineProperty(a,"WHITE",{get:function(){return a.Color4f(1,1,1,1)}});Object.defineProperty(a,
"RED",{get:function(){return a.Color4f(1,0,0,1)}});Object.defineProperty(a,"GREEN",{get:function(){return a.Color4f(0,1,0,1)}});Object.defineProperty(a,"BLUE",{get:function(){return a.Color4f(0,0,1,1)}});Object.defineProperty(a,"YELLOW",{get:function(){return a.Color4f(1,1,0,1)}});Object.defineProperty(a,"CYAN",{get:function(){return a.Color4f(0,1,1,1)}});Object.defineProperty(a,"MAGENTA",{get:function(){return a.Color4f(1,0,1,1)}});a.getColorComponents=function(g){return[Math.floor(255*g[0]),Math.floor(255*
g[1]),Math.floor(255*g[2]),g[3]]};a.parseColorString=function(g,d){g=g.toLowerCase();if(g.startsWith("#")){d=255;switch(g.length){case 9:d=parseInt(g.slice(7,9),16);case 7:var h=parseInt(g.slice(1,3),16);var m=parseInt(g.slice(3,5),16);var u=parseInt(g.slice(5,7),16);break;case 5:d=17*parseInt(g.slice(4,5),16);case 4:h=17*parseInt(g.slice(1,2),16),m=17*parseInt(g.slice(2,3),16),u=17*parseInt(g.slice(3,4),16)}return a.Color(h,m,u,d/255)}return g.startsWith("rgba")?(g=g.slice(5,-1),g=g.split(","),a.Color(+g[0],
+g[1],+g[2],e(g[3]))):g.startsWith("rgb")?(g=g.slice(4,-1),g=g.split(","),a.Color(+g[0],+g[1],+g[2],e(g[3]))):g.startsWith("gray(")||g.startsWith("hsl")||!d||(g=d[g],void 0===g)?a.BLACK:g};a.multiplyByAlpha=function(g,d){g=g.slice();g[3]=Math.max(0,Math.min(g[3]*d,1));return g};a.Malloc=function(g,d){var h=a._malloc(d*g.BYTES_PER_ELEMENT);return{_ck:!0,length:d,byteOffset:h,ce:null,subarray:function(m,u){m=this.toTypedArray().subarray(m,u);m._ck=!0;return m},toTypedArray:function(){if(this.ce&&this.ce.length)return this.ce;
this.ce=new g(a.HEAPU8.buffer,h,d);this.ce._ck=!0;return this.ce}}};a.Free=function(g){a._free(g.byteOffset);g.byteOffset=M;g.toTypedArray=null;g.ce=null};var I=M,R,Z=M,da,ua=M,Ma,va,V=M,pc,Ba=M,qc,Hb=M,rc,Ib=M,Jb,gb=M,sc,Gb=M,tc,uc=M,od=Float32Array.of(0,0,1),M=0;a.onRuntimeInitialized=function(){function g(d,h,m,u,w,z,F){z||(z=4*u.width,u.colorType===a.ColorType.RGBA_F16?z*=2:u.colorType===a.ColorType.RGBA_F32&&(z*=4));var K=z*u.height;var H=w?w.byteOffset:a._malloc(K);if(F?!d._readPixels(u,H,z,
h,m,F):!d._readPixels(u,H,z,h,m))return w||a._free(H),null;if(w)return w.toTypedArray();switch(u.colorType){case a.ColorType.RGBA_8888:case a.ColorType.RGBA_F16:d=(new Uint8Array(a.HEAPU8.buffer,H,K)).slice();break;case a.ColorType.RGBA_F32:d=(new Float32Array(a.HEAPU8.buffer,H,K)).slice();break;default:return null}a._free(H);return d}Ma=a.Malloc(Float32Array,4);ua=Ma.byteOffset;da=a.Malloc(Float32Array,16);Z=da.byteOffset;R=a.Malloc(Float32Array,9);I=R.byteOffset;sc=a.Malloc(Float32Array,12);Gb=
sc.byteOffset;tc=a.Malloc(Float32Array,12);uc=tc.byteOffset;va=a.Malloc(Float32Array,4);V=va.byteOffset;pc=a.Malloc(Float32Array,4);Ba=pc.byteOffset;qc=a.Malloc(Float32Array,3);Hb=qc.byteOffset;rc=a.Malloc(Float32Array,3);Ib=rc.byteOffset;Jb=a.Malloc(Int32Array,4);gb=Jb.byteOffset;a.ColorSpace.SRGB=a.ColorSpace._MakeSRGB();a.ColorSpace.DISPLAY_P3=a.ColorSpace._MakeDisplayP3();a.ColorSpace.ADOBE_RGB=a.ColorSpace._MakeAdobeRGB();a.GlyphRunFlags={IsWhiteSpace:a._GlyphRunFlags_isWhiteSpace};a.Path.MakeFromCmds=
function(d){var h=l(d,"HEAPF32"),m=a.Path._MakeFromCmds(h,d.length);k(h,d);return m};a.Path.MakeFromVerbsPointsWeights=function(d,h,m){var u=l(d,"HEAPU8"),w=l(h,"HEAPF32"),z=l(m,"HEAPF32"),F=a.Path._MakeFromVerbsPointsWeights(u,d.length,w,h.length,z,m&&m.length||0);k(u,d);k(w,h);k(z,m);return F};a.Path.prototype.addArc=function(d,h,m){d=v(d);this._addArc(d,h,m);return this};a.Path.prototype.addCircle=function(d,h,m,u){this._addCircle(d,h,m,!!u);return this};a.Path.prototype.addOval=function(d,h,m){void 0===
m&&(m=1);d=v(d);this._addOval(d,!!h,m);return this};a.Path.prototype.addPath=function(){var d=Array.prototype.slice.call(arguments),h=d[0],m=!1;"boolean"===typeof d[d.length-1]&&(m=d.pop());if(1===d.length)this._addPath(h,1,0,0,0,1,0,0,0,1,m);else if(2===d.length)d=d[1],this._addPath(h,d[0],d[1],d[2],d[3],d[4],d[5],d[6]||0,d[7]||0,d[8]||1,m);else if(7===d.length||10===d.length)this._addPath(h,d[1],d[2],d[3],d[4],d[5],d[6],d[7]||0,d[8]||0,d[9]||1,m);else return null;return this};a.Path.prototype.addPoly=
function(d,h){var m=l(d,"HEAPF32");this._addPoly(m,d.length/2,h);k(m,d);return this};a.Path.prototype.addRect=function(d,h){d=v(d);this._addRect(d,!!h);return this};a.Path.prototype.addRRect=function(d,h){d=D(d);this._addRRect(d,!!h);return this};a.Path.prototype.addVerbsPointsWeights=function(d,h,m){var u=l(d,"HEAPU8"),w=l(h,"HEAPF32"),z=l(m,"HEAPF32");this._addVerbsPointsWeights(u,d.length,w,h.length,z,m&&m.length||0);k(u,d);k(w,h);k(z,m)};a.Path.prototype.arc=function(d,h,m,u,w,z){d=a.LTRBRect(d-
m,h-m,d+m,h+m);w=(w-u)/Math.PI*180-360*!!z;z=new a.Path;z.addArc(d,u/Math.PI*180,w);this.addPath(z,!0);z.delete();return this};a.Path.prototype.arcToOval=function(d,h,m,u){d=v(d);this._arcToOval(d,h,m,u);return this};a.Path.prototype.arcToRotated=function(d,h,m,u,w,z,F){this._arcToRotated(d,h,m,!!u,!!w,z,F);return this};a.Path.prototype.arcToTangent=function(d,h,m,u,w){this._arcToTangent(d,h,m,u,w);return this};a.Path.prototype.close=function(){this._close();return this};a.Path.prototype.conicTo=
function(d,h,m,u,w){this._conicTo(d,h,m,u,w);return this};a.Path.prototype.computeTightBounds=function(d){this._computeTightBounds(V);var h=va.toTypedArray();return d?(d.set(h),d):h.slice()};a.Path.prototype.cubicTo=function(d,h,m,u,w,z){this._cubicTo(d,h,m,u,w,z);return this};a.Path.prototype.dash=function(d,h,m){return this._dash(d,h,m)?this:null};a.Path.prototype.getBounds=function(d){this._getBounds(V);var h=va.toTypedArray();return d?(d.set(h),d):h.slice()};a.Path.prototype.lineTo=function(d,
h){this._lineTo(d,h);return this};a.Path.prototype.moveTo=function(d,h){this._moveTo(d,h);return this};a.Path.prototype.offset=function(d,h){this._transform(1,0,d,0,1,h,0,0,1);return this};a.Path.prototype.quadTo=function(d,h,m,u){this._quadTo(d,h,m,u);return this};a.Path.prototype.rArcTo=function(d,h,m,u,w,z,F){this._rArcTo(d,h,m,u,w,z,F);return this};a.Path.prototype.rConicTo=function(d,h,m,u,w){this._rConicTo(d,h,m,u,w);return this};a.Path.prototype.rCubicTo=function(d,h,m,u,w,z){this._rCubicTo(d,
h,m,u,w,z);return this};a.Path.prototype.rLineTo=function(d,h){this._rLineTo(d,h);return this};a.Path.prototype.rMoveTo=function(d,h){this._rMoveTo(d,h);return this};a.Path.prototype.rQuadTo=function(d,h,m,u){this._rQuadTo(d,h,m,u);return this};a.Path.prototype.stroke=function(d){d=d||{};d.width=d.width||1;d.miter_limit=d.miter_limit||4;d.cap=d.cap||a.StrokeCap.Butt;d.join=d.join||a.StrokeJoin.Miter;d.precision=d.precision||1;return this._stroke(d)?this:null};a.Path.prototype.transform=function(){if(1===
arguments.length){var d=arguments[0];this._transform(d[0],d[1],d[2],d[3],d[4],d[5],d[6]||0,d[7]||0,d[8]||1)}else if(6===arguments.length||9===arguments.length)d=arguments,this._transform(d[0],d[1],d[2],d[3],d[4],d[5],d[6]||0,d[7]||0,d[8]||1);else throw"transform expected to take 1 or 9 arguments. Got "+arguments.length;return this};a.Path.prototype.trim=function(d,h,m){return this._trim(d,h,!!m)?this:null};a.Image.prototype.encodeToBytes=function(d,h){var m=a.qe();d=d||a.ImageFormat.PNG;h=h||100;
return m?this._encodeToBytes(d,h,m):this._encodeToBytes(d,h)};a.Image.prototype.makeShaderCubic=function(d,h,m,u,w){w=q(w);return this._makeShaderCubic(d,h,m,u,w)};a.Image.prototype.makeShaderOptions=function(d,h,m,u,w){w=q(w);return this._makeShaderOptions(d,h,m,u,w)};a.Image.prototype.readPixels=function(d,h,m,u,w){var z=a.qe();return g(this,d,h,m,u,w,z)};a.Canvas.prototype.clear=function(d){a.Od(this.Nd);d=y(d);this._clear(d)};a.Canvas.prototype.clipRRect=function(d,h,m){a.Od(this.Nd);d=D(d);this._clipRRect(d,
h,m)};a.Canvas.prototype.clipRect=function(d,h,m){a.Od(this.Nd);d=v(d);this._clipRect(d,h,m)};a.Canvas.prototype.concat=function(d){a.Od(this.Nd);d=x(d);this._concat(d)};a.Canvas.prototype.drawArc=function(d,h,m,u,w){a.Od(this.Nd);d=v(d);this._drawArc(d,h,m,u,w)};a.Canvas.prototype.drawAtlas=function(d,h,m,u,w,z,F){if(d&&u&&h&&m&&h.length===m.length){a.Od(this.Nd);w||(w=a.BlendMode.SrcOver);var K=l(h,"HEAPF32"),H=l(m,"HEAPF32"),S=m.length/4,p=l(c(z),"HEAPU32");if(F&&"B"in F&&"C"in F)this._drawAtlasCubic(d,
H,K,p,S,w,F.B,F.C,u);else{let A=a.FilterMode.Linear,L=a.MipmapMode.None;F&&(A=F.filter,"mipmap"in F&&(L=F.mipmap));this._drawAtlasOptions(d,H,K,p,S,w,A,L,u)}k(K,h);k(H,m);k(p,z)}};a.Canvas.prototype.drawCircle=function(d,h,m,u){a.Od(this.Nd);this._drawCircle(d,h,m,u)};a.Canvas.prototype.drawColor=function(d,h){a.Od(this.Nd);d=y(d);void 0!==h?this._drawColor(d,h):this._drawColor(d)};a.Canvas.prototype.drawColorInt=function(d,h){a.Od(this.Nd);this._drawColorInt(d,h||a.BlendMode.SrcOver)};a.Canvas.prototype.drawColorComponents=
function(d,h,m,u,w){a.Od(this.Nd);d=C(d,h,m,u);void 0!==w?this._drawColor(d,w):this._drawColor(d)};a.Canvas.prototype.drawDRRect=function(d,h,m){a.Od(this.Nd);d=D(d,Gb);h=D(h,uc);this._drawDRRect(d,h,m)};a.Canvas.prototype.drawImage=function(d,h,m,u){a.Od(this.Nd);this._drawImage(d,h,m,u||null)};a.Canvas.prototype.drawImageCubic=function(d,h,m,u,w,z){a.Od(this.Nd);this._drawImageCubic(d,h,m,u,w,z||null)};a.Canvas.prototype.drawImageOptions=function(d,h,m,u,w,z){a.Od(this.Nd);this._drawImageOptions(d,
h,m,u,w,z||null)};a.Canvas.prototype.drawImageNine=function(d,h,m,u,w){a.Od(this.Nd);h=l(h,"HEAP32",gb);m=v(m);this._drawImageNine(d,h,m,u,w||null)};a.Canvas.prototype.drawImageRect=function(d,h,m,u,w){a.Od(this.Nd);v(h,V);v(m,Ba);this._drawImageRect(d,V,Ba,u,!!w)};a.Canvas.prototype.drawImageRectCubic=function(d,h,m,u,w,z){a.Od(this.Nd);v(h,V);v(m,Ba);this._drawImageRectCubic(d,V,Ba,u,w,z||null)};a.Canvas.prototype.drawImageRectOptions=function(d,h,m,u,w,z){a.Od(this.Nd);v(h,V);v(m,Ba);this._drawImageRectOptions(d,
V,Ba,u,w,z||null)};a.Canvas.prototype.drawLine=function(d,h,m,u,w){a.Od(this.Nd);this._drawLine(d,h,m,u,w)};a.Canvas.prototype.drawOval=function(d,h){a.Od(this.Nd);d=v(d);this._drawOval(d,h)};a.Canvas.prototype.drawPaint=function(d){a.Od(this.Nd);this._drawPaint(d)};a.Canvas.prototype.drawParagraph=function(d,h,m){a.Od(this.Nd);this._drawParagraph(d,h,m)};a.Canvas.prototype.drawPatch=function(d,h,m,u,w){if(24>d.length)throw"Need 12 cubic points";if(h&&4>h.length)throw"Need 4 colors";if(m&&8>m.length)throw"Need 4 shader coordinates";
a.Od(this.Nd);const z=l(d,"HEAPF32"),F=h?l(c(h),"HEAPU32"):M,K=m?l(m,"HEAPF32"):M;u||(u=a.BlendMode.Modulate);this._drawPatch(z,F,K,u,w);k(K,m);k(F,h);k(z,d)};a.Canvas.prototype.drawPath=function(d,h){a.Od(this.Nd);this._drawPath(d,h)};a.Canvas.prototype.drawPicture=function(d){a.Od(this.Nd);this._drawPicture(d)};a.Canvas.prototype.drawPoints=function(d,h,m){a.Od(this.Nd);var u=l(h,"HEAPF32");this._drawPoints(d,u,h.length/2,m);k(u,h)};a.Canvas.prototype.drawRRect=function(d,h){a.Od(this.Nd);d=D(d);
this._drawRRect(d,h)};a.Canvas.prototype.drawRect=function(d,h){a.Od(this.Nd);d=v(d);this._drawRect(d,h)};a.Canvas.prototype.drawRect4f=function(d,h,m,u,w){a.Od(this.Nd);this._drawRect4f(d,h,m,u,w)};a.Canvas.prototype.drawShadow=function(d,h,m,u,w,z,F){a.Od(this.Nd);var K=l(w,"HEAPF32"),H=l(z,"HEAPF32");h=l(h,"HEAPF32",Hb);m=l(m,"HEAPF32",Ib);this._drawShadow(d,h,m,u,K,H,F);k(K,w);k(H,z)};a.getShadowLocalBounds=function(d,h,m,u,w,z,F){d=q(d);m=l(m,"HEAPF32",Hb);u=l(u,"HEAPF32",Ib);if(!this._getShadowLocalBounds(d,
h,m,u,w,z,V))return null;h=va.toTypedArray();return F?(F.set(h),F):h.slice()};a.Canvas.prototype.drawTextBlob=function(d,h,m,u){a.Od(this.Nd);this._drawTextBlob(d,h,m,u)};a.Canvas.prototype.drawVertices=function(d,h,m){a.Od(this.Nd);this._drawVertices(d,h,m)};a.Canvas.prototype.getDeviceClipBounds=function(d){this._getDeviceClipBounds(gb);var h=Jb.toTypedArray();d?d.set(h):d=h.slice();return d};a.Canvas.prototype.getLocalToDevice=function(){this._getLocalToDevice(Z);for(var d=Z,h=Array(16),m=0;16>
m;m++)h[m]=a.HEAPF32[d/4+m];return h};a.Canvas.prototype.getTotalMatrix=function(){this._getTotalMatrix(I);for(var d=Array(9),h=0;9>h;h++)d[h]=a.HEAPF32[I/4+h];return d};a.Canvas.prototype.makeSurface=function(d){d=this._makeSurface(d);d.Nd=this.Nd;return d};a.Canvas.prototype.readPixels=function(d,h,m,u,w){a.Od(this.Nd);return g(this,d,h,m,u,w)};a.Canvas.prototype.saveLayer=function(d,h,m,u){h=v(h);return this._saveLayer(d||null,h,m||null,u||0)};a.Canvas.prototype.writePixels=function(d,h,m,u,w,
z,F,K){if(d.byteLength%(h*m))throw"pixels length must be a multiple of the srcWidth * srcHeight";a.Od(this.Nd);var H=d.byteLength/(h*m);z=z||a.AlphaType.Unpremul;F=F||a.ColorType.RGBA_8888;K=K||a.ColorSpace.SRGB;var S=H*h;H=l(d,"HEAPU8");h=this._writePixels({width:h,height:m,colorType:F,alphaType:z,colorSpace:K},H,S,u,w);k(H,d);return h};a.ColorFilter.MakeBlend=function(d,h,m){d=y(d);m=m||a.ColorSpace.SRGB;return a.ColorFilter._MakeBlend(d,h,m)};a.ColorFilter.MakeMatrix=function(d){if(!d||20!==d.length)throw"invalid color matrix";
var h=l(d,"HEAPF32"),m=a.ColorFilter._makeMatrix(h);k(h,d);return m};a.ContourMeasure.prototype.getPosTan=function(d,h){this._getPosTan(d,V);d=va.toTypedArray();return h?(h.set(d),h):d.slice()};a.ImageFilter.MakeDropShadow=function(d,h,m,u,w,z){w=y(w,ua);return a.ImageFilter._MakeDropShadow(d,h,m,u,w,z)};a.ImageFilter.MakeDropShadowOnly=function(d,h,m,u,w,z){w=y(w,ua);return a.ImageFilter._MakeDropShadowOnly(d,h,m,u,w,z)};a.ImageFilter.MakeImage=function(d,h,m,u){m=v(m,V);u=v(u,Ba);if("B"in h&&"C"in
h)return a.ImageFilter._MakeImageCubic(d,h.B,h.C,m,u);const w=h.filter;let z=a.MipmapMode.None;"mipmap"in h&&(z=h.mipmap);return a.ImageFilter._MakeImageOptions(d,w,z,m,u)};a.ImageFilter.MakeMatrixTransform=function(d,h,m){d=q(d);if("B"in h&&"C"in h)return a.ImageFilter._MakeMatrixTransformCubic(d,h.B,h.C,m);const u=h.filter;let w=a.MipmapMode.None;"mipmap"in h&&(w=h.mipmap);return a.ImageFilter._MakeMatrixTransformOptions(d,u,w,m)};a.Paint.prototype.getColor=function(){this._getColor(ua);return E(ua)};
a.Paint.prototype.setColor=function(d,h){h=h||null;d=y(d);this._setColor(d,h)};a.Paint.prototype.setColorComponents=function(d,h,m,u,w){w=w||null;d=C(d,h,m,u);this._setColor(d,w)};a.Path.prototype.getPoint=function(d,h){this._getPoint(d,V);d=va.toTypedArray();return h?(h[0]=d[0],h[1]=d[1],h):d.slice(0,2)};a.Picture.prototype.makeShader=function(d,h,m,u,w){u=q(u);w=v(w);return this._makeShader(d,h,m,u,w)};a.PictureRecorder.prototype.beginRecording=function(d){d=v(d);return this._beginRecording(d)};
a.Surface.prototype.getCanvas=function(){var d=this._getCanvas();d.Nd=this.Nd;return d};a.Surface.prototype.makeImageSnapshot=function(d){a.Od(this.Nd);d=l(d,"HEAP32",gb);return this._makeImageSnapshot(d)};a.Surface.prototype.makeSurface=function(d){a.Od(this.Nd);d=this._makeSurface(d);d.Nd=this.Nd;return d};a.Surface.prototype.Ue=function(d,h){this.ie||(this.ie=this.getCanvas());return requestAnimationFrame(function(){a.Od(this.Nd);d(this.ie);this.flush(h)}.bind(this))};a.Surface.prototype.requestAnimationFrame||
(a.Surface.prototype.requestAnimationFrame=a.Surface.prototype.Ue);a.Surface.prototype.Re=function(d,h){this.ie||(this.ie=this.getCanvas());requestAnimationFrame(function(){a.Od(this.Nd);d(this.ie);this.flush(h);this.dispose()}.bind(this))};a.Surface.prototype.drawOnce||(a.Surface.prototype.drawOnce=a.Surface.prototype.Re);a.PathEffect.MakeDash=function(d,h){h||(h=0);if(!d.length||1===d.length%2)throw"Intervals array must have even length";var m=l(d,"HEAPF32");h=a.PathEffect._MakeDash(m,d.length,
h);k(m,d);return h};a.PathEffect.MakeLine2D=function(d,h){h=q(h);return a.PathEffect._MakeLine2D(d,h)};a.PathEffect.MakePath2D=function(d,h){d=q(d);return a.PathEffect._MakePath2D(d,h)};a.Shader.MakeColor=function(d,h){h=h||null;d=y(d);return a.Shader._MakeColor(d,h)};a.Shader.Blend=a.Shader.MakeBlend;a.Shader.Color=a.Shader.MakeColor;a.Shader.MakeLinearGradient=function(d,h,m,u,w,z,F,K){K=K||null;var H=n(m),S=l(u,"HEAPF32");F=F||0;z=q(z);var p=va.toTypedArray();p.set(d);p.set(h,2);d=a.Shader._MakeLinearGradient(V,
H.Wd,H.ke,S,H.count,w,F,z,K);k(H.Wd,m);u&&k(S,u);return d};a.Shader.MakeRadialGradient=function(d,h,m,u,w,z,F,K){K=K||null;var H=n(m),S=l(u,"HEAPF32");F=F||0;z=q(z);d=a.Shader._MakeRadialGradient(d[0],d[1],h,H.Wd,H.ke,S,H.count,w,F,z,K);k(H.Wd,m);u&&k(S,u);return d};a.Shader.MakeSweepGradient=function(d,h,m,u,w,z,F,K,H,S){S=S||null;var p=n(m),A=l(u,"HEAPF32");F=F||0;K=K||0;H=H||360;z=q(z);d=a.Shader._MakeSweepGradient(d,h,p.Wd,p.ke,A,p.count,w,K,H,F,z,S);k(p.Wd,m);u&&k(A,u);return d};a.Shader.MakeTwoPointConicalGradient=
function(d,h,m,u,w,z,F,K,H,S){S=S||null;var p=n(w),A=l(z,"HEAPF32");H=H||0;K=q(K);var L=va.toTypedArray();L.set(d);L.set(m,2);d=a.Shader._MakeTwoPointConicalGradient(V,h,u,p.Wd,p.ke,A,p.count,F,H,K,S);k(p.Wd,w);z&&k(A,z);return d};a.Vertices.prototype.bounds=function(d){this._bounds(V);var h=va.toTypedArray();return d?(d.set(h),d):h.slice()};a.Rd&&a.Rd.forEach(function(d){d()})};a.computeTonalColors=function(g){var d=l(g.ambient,"HEAPF32"),h=l(g.spot,"HEAPF32");this._computeTonalColors(d,h);var m=
{ambient:E(d),spot:E(h)};k(d,g.ambient);k(h,g.spot);return m};a.LTRBRect=function(g,d,h,m){return Float32Array.of(g,d,h,m)};a.XYWHRect=function(g,d,h,m){return Float32Array.of(g,d,g+h,d+m)};a.LTRBiRect=function(g,d,h,m){return Int32Array.of(g,d,h,m)};a.XYWHiRect=function(g,d,h,m){return Int32Array.of(g,d,g+h,d+m)};a.RRectXY=function(g,d,h){return Float32Array.of(g[0],g[1],g[2],g[3],d,h,d,h,d,h,d,h)};a.MakeAnimatedImageFromEncoded=function(g){g=new Uint8Array(g);var d=a._malloc(g.byteLength);a.HEAPU8.set(g,
d);return(g=a._decodeAnimatedImage(d,g.byteLength))?g:null};a.MakeImageFromEncoded=function(g){g=new Uint8Array(g);var d=a._malloc(g.byteLength);a.HEAPU8.set(g,d);return(g=a._decodeImage(d,g.byteLength))?g:null};var Ra=null;a.MakeImageFromCanvasImageSource=function(g){var d=g.width,h=g.height;Ra||(Ra=document.createElement("canvas"));Ra.width=d;Ra.height=h;var m=Ra.getContext("2d",{Pf:!0});m.drawImage(g,0,0);g=m.getImageData(0,0,d,h);return a.MakeImage({width:d,height:h,alphaType:a.AlphaType.Unpremul,
colorType:a.ColorType.RGBA_8888,colorSpace:a.ColorSpace.SRGB},g.data,4*d)};a.MakeImage=function(g,d,h){var m=a._malloc(d.length);a.HEAPU8.set(d,m);return a._MakeImage(g,m,d.length,h)};a.MakeVertices=function(g,d,h,m,u,w){var z=u&&u.length||0,F=0;h&&h.length&&(F|=1);m&&m.length&&(F|=2);void 0===w||w||(F|=4);g=new a._VerticesBuilder(g,d.length/2,z,F);l(d,"HEAPF32",g.positions());g.texCoords()&&l(h,"HEAPF32",g.texCoords());g.colors()&&l(c(m),"HEAPU32",g.colors());g.indices()&&l(u,"HEAPU16",g.indices());
return g.detach()};(function(g){g.Rd=g.Rd||[];g.Rd.push(function(){function d(p){if(!p||!p.length)return[];for(var A=[],L=0;L<p.length;L+=5){var U=g.LTRBRect(p[L],p[L+1],p[L+2],p[L+3]),za=g.TextDirection.LTR;0===p[L+4]&&(za=g.TextDirection.RTL);A.push({rect:U,dir:za})}g._free(p.byteOffset);return A}function h(p){p=p||{};void 0===p.weight&&(p.weight=g.FontWeight.Normal);p.width=p.width||g.FontWidth.Normal;p.slant=p.slant||g.FontSlant.Upright;return p}function m(p){if(!p||!p.length)return M;for(var A=
[],L=0;L<p.length;L++){var U=u(p[L]);A.push(U)}return l(A,"HEAPU32")}function u(p){if(F[p])return F[p];var A=ka(p)+1,L=g._malloc(A);la(p,B,L,A);return F[p]=L}function w(p){p._colorPtr=y(p.color);p._foregroundColorPtr=M;p._backgroundColorPtr=M;p._decorationColorPtr=M;p.foregroundColor&&(p._foregroundColorPtr=y(p.foregroundColor,K));p.backgroundColor&&(p._backgroundColorPtr=y(p.backgroundColor,H));p.decorationColor&&(p._decorationColorPtr=y(p.decorationColor,S));Array.isArray(p.fontFamilies)&&p.fontFamilies.length?
(p._fontFamiliesPtr=m(p.fontFamilies),p._fontFamiliesLen=p.fontFamilies.length):(p._fontFamiliesPtr=M,p._fontFamiliesLen=0);if(p.locale){var A=p.locale;p._localePtr=u(A);p._localeLen=ka(A)+1}else p._localePtr=M,p._localeLen=0;if(Array.isArray(p.shadows)&&p.shadows.length){A=p.shadows;var L=A.map(function(pa){return pa.color||g.BLACK}),U=A.map(function(pa){return pa.blurRadius||0});p._shadowLen=A.length;for(var za=g._malloc(8*A.length),Kb=za/4,Lb=0;Lb<A.length;Lb++){var vc=A[Lb].offset||[0,0];g.HEAPF32[Kb]=
vc[0];g.HEAPF32[Kb+1]=vc[1];Kb+=2}p._shadowColorsPtr=n(L).Wd;p._shadowOffsetsPtr=za;p._shadowBlurRadiiPtr=l(U,"HEAPF32")}else p._shadowLen=0,p._shadowColorsPtr=M,p._shadowOffsetsPtr=M,p._shadowBlurRadiiPtr=M;Array.isArray(p.fontFeatures)&&p.fontFeatures.length?(A=p.fontFeatures,L=A.map(function(pa){return pa.name}),U=A.map(function(pa){return pa.value}),p._fontFeatureLen=A.length,p._fontFeatureNamesPtr=m(L),p._fontFeatureValuesPtr=l(U,"HEAPU32")):(p._fontFeatureLen=0,p._fontFeatureNamesPtr=M,p._fontFeatureValuesPtr=
M);Array.isArray(p.fontVariations)&&p.fontVariations.length?(A=p.fontVariations,L=A.map(function(pa){return pa.axis}),U=A.map(function(pa){return pa.value}),p._fontVariationLen=A.length,p._fontVariationAxesPtr=m(L),p._fontVariationValuesPtr=l(U,"HEAPF32")):(p._fontVariationLen=0,p._fontVariationAxesPtr=M,p._fontVariationValuesPtr=M)}function z(p){g._free(p._fontFamiliesPtr);g._free(p._shadowColorsPtr);g._free(p._shadowOffsetsPtr);g._free(p._shadowBlurRadiiPtr);g._free(p._fontFeatureNamesPtr);g._free(p._fontFeatureValuesPtr);
g._free(p._fontVariationAxesPtr);g._free(p._fontVariationValuesPtr)}g.Paragraph.prototype.getRectsForRange=function(p,A,L,U){p=this._getRectsForRange(p,A,L,U);return d(p)};g.Paragraph.prototype.getRectsForPlaceholders=function(){var p=this._getRectsForPlaceholders();return d(p)};g.TypefaceFontProvider.prototype.registerFont=function(p,A){p=g.Typeface.MakeFreeTypeFaceFromData(p);if(!p)return null;A=u(A);this._registerFont(p,A)};g.ParagraphStyle=function(p){p.disableHinting=p.disableHinting||!1;if(p.ellipsis){var A=
p.ellipsis;p._ellipsisPtr=u(A);p._ellipsisLen=ka(A)+1}else p._ellipsisPtr=M,p._ellipsisLen=0;null==p.heightMultiplier&&(p.heightMultiplier=-1);p.maxLines=p.maxLines||0;p.replaceTabCharacters=p.replaceTabCharacters||!1;A=(A=p.strutStyle)||{};A.strutEnabled=A.strutEnabled||!1;A.strutEnabled&&Array.isArray(A.fontFamilies)&&A.fontFamilies.length?(A._fontFamiliesPtr=m(A.fontFamilies),A._fontFamiliesLen=A.fontFamilies.length):(A._fontFamiliesPtr=M,A._fontFamiliesLen=0);A.fontStyle=h(A.fontStyle);null==
A.fontSize&&(A.fontSize=-1);null==A.heightMultiplier&&(A.heightMultiplier=-1);A.halfLeading=A.halfLeading||!1;A.leading=A.leading||0;A.forceStrutHeight=A.forceStrutHeight||!1;p.strutStyle=A;p.textAlign=p.textAlign||g.TextAlign.Start;p.textDirection=p.textDirection||g.TextDirection.LTR;p.textHeightBehavior=p.textHeightBehavior||g.TextHeightBehavior.All;p.textStyle=g.TextStyle(p.textStyle);return p};g.TextStyle=function(p){p.color||(p.color=g.BLACK);p.decoration=p.decoration||0;p.decorationThickness=
p.decorationThickness||0;p.decorationStyle=p.decorationStyle||g.DecorationStyle.Solid;p.textBaseline=p.textBaseline||g.TextBaseline.Alphabetic;null==p.fontSize&&(p.fontSize=-1);p.letterSpacing=p.letterSpacing||0;p.wordSpacing=p.wordSpacing||0;null==p.heightMultiplier&&(p.heightMultiplier=-1);p.halfLeading=p.halfLeading||!1;p.fontStyle=h(p.fontStyle);return p};var F={},K=g._malloc(16),H=g._malloc(16),S=g._malloc(16);g.ParagraphBuilder.Make=function(p,A){w(p.textStyle);A=g.ParagraphBuilder._Make(p,
A);z(p.textStyle);return A};g.ParagraphBuilder.MakeFromFontProvider=function(p,A){w(p.textStyle);A=g.ParagraphBuilder._MakeFromFontProvider(p,A);z(p.textStyle);return A};g.ParagraphBuilder.MakeFromFontCollection=function(p,A){w(p.textStyle);A=g.ParagraphBuilder._MakeFromFontCollection(p,A);z(p.textStyle);return A};g.ParagraphBuilder.ShapeText=function(p,A,L){let U=0;for(const za of A)U+=za.length;if(U!==p.length)throw"Accumulated block lengths must equal text.length";return g.ParagraphBuilder._ShapeText(p,
A,L)};g.ParagraphBuilder.prototype.pushStyle=function(p){w(p);this._pushStyle(p);z(p)};g.ParagraphBuilder.prototype.pushPaintStyle=function(p,A,L){w(p);this._pushPaintStyle(p,A,L);z(p)};g.ParagraphBuilder.prototype.addPlaceholder=function(p,A,L,U,za){L=L||g.PlaceholderAlignment.Baseline;U=U||g.TextBaseline.Alphabetic;this._addPlaceholder(p||0,A||0,L,U,za||0)};g.ParagraphBuilder.prototype.setWordsUtf8=function(p){var A=l(p,"HEAPU32");this._setWordsUtf8(A,p&&p.length||0);k(A,p)};g.ParagraphBuilder.prototype.setWordsUtf16=
function(p){var A=l(p,"HEAPU32");this._setWordsUtf16(A,p&&p.length||0);k(A,p)};g.ParagraphBuilder.prototype.setGraphemeBreaksUtf8=function(p){var A=l(p,"HEAPU32");this._setGraphemeBreaksUtf8(A,p&&p.length||0);k(A,p)};g.ParagraphBuilder.prototype.setGraphemeBreaksUtf16=function(p){var A=l(p,"HEAPU32");this._setGraphemeBreaksUtf16(A,p&&p.length||0);k(A,p)};g.ParagraphBuilder.prototype.setLineBreaksUtf8=function(p){var A=l(p,"HEAPU32");this._setLineBreaksUtf8(A,p&&p.length||0);k(A,p)};g.ParagraphBuilder.prototype.setLineBreaksUtf16=
function(p){var A=l(p,"HEAPU32");this._setLineBreaksUtf16(A,p&&p.length||0);k(A,p)}})})(r);a.Rd=a.Rd||[];a.Rd.push(function(){a.Path.prototype.op=function(g,d){return this._op(g,d)?this:null};a.Path.prototype.simplify=function(){return this._simplify()?this:null}});a.Rd=a.Rd||[];a.Rd.push(function(){a.Canvas.prototype.drawText=function(g,d,h,m,u){var w=ka(g),z=a._malloc(w+1);la(g,B,z,w+1);this._drawSimpleText(z,w,d,h,u,m);a._free(z)};a.Canvas.prototype.drawGlyphs=function(g,d,h,m,u,w){if(!(2*g.length<=
d.length))throw"Not enough positions for the array of gyphs";a.Od(this.Nd);const z=l(g,"HEAPU16"),F=l(d,"HEAPF32");this._drawGlyphs(g.length,z,F,h,m,u,w);k(F,d);k(z,g)};a.Font.prototype.getGlyphBounds=function(g,d,h){var m=l(g,"HEAPU16"),u=a._malloc(16*g.length);this._getGlyphWidthBounds(m,g.length,M,u,d||null);d=new Float32Array(a.HEAPU8.buffer,u,4*g.length);k(m,g);if(h)return h.set(d),a._free(u),h;g=Float32Array.from(d);a._free(u);return g};a.Font.prototype.getGlyphIDs=function(g,d,h){d||(d=g.length);
var m=ka(g)+1,u=a._malloc(m);la(g,B,u,m);g=a._malloc(2*d);d=this._getGlyphIDs(u,m-1,d,g);a._free(u);if(0>d)return a._free(g),null;u=new Uint16Array(a.HEAPU8.buffer,g,d);if(h)return h.set(u),a._free(g),h;h=Uint16Array.from(u);a._free(g);return h};a.Font.prototype.getGlyphIntercepts=function(g,d,h,m){var u=l(g,"HEAPU16"),w=l(d,"HEAPF32");return this._getGlyphIntercepts(u,g.length,!(g&&g._ck),w,d.length,!(d&&d._ck),h,m)};a.Font.prototype.getGlyphWidths=function(g,d,h){var m=l(g,"HEAPU16"),u=a._malloc(4*
g.length);this._getGlyphWidthBounds(m,g.length,u,M,d||null);d=new Float32Array(a.HEAPU8.buffer,u,g.length);k(m,g);if(h)return h.set(d),a._free(u),h;g=Float32Array.from(d);a._free(u);return g};a.FontMgr.FromData=function(){if(!arguments.length)return null;var g=arguments;1===g.length&&Array.isArray(g[0])&&(g=arguments[0]);if(!g.length)return null;for(var d=[],h=[],m=0;m<g.length;m++){var u=new Uint8Array(g[m]),w=l(u,"HEAPU8");d.push(w);h.push(u.byteLength)}d=l(d,"HEAPU32");h=l(h,"HEAPU32");g=a.FontMgr._fromData(d,
h,g.length);a._free(d);a._free(h);return g};a.Typeface.MakeFreeTypeFaceFromData=function(g){g=new Uint8Array(g);var d=l(g,"HEAPU8");return(g=a.Typeface._MakeFreeTypeFaceFromData(d,g.byteLength))?g:null};a.Typeface.prototype.getGlyphIDs=function(g,d,h){d||(d=g.length);var m=ka(g)+1,u=a._malloc(m);la(g,B,u,m);g=a._malloc(2*d);d=this._getGlyphIDs(u,m-1,d,g);a._free(u);if(0>d)return a._free(g),null;u=new Uint16Array(a.HEAPU8.buffer,g,d);if(h)return h.set(u),a._free(g),h;h=Uint16Array.from(u);a._free(g);
return h};a.TextBlob.MakeOnPath=function(g,d,h,m){if(g&&g.length&&d&&d.countPoints()){if(1===d.countPoints())return this.MakeFromText(g,h);m||(m=0);var u=h.getGlyphIDs(g);u=h.getGlyphWidths(u);var w=[];d=new a.ContourMeasureIter(d,!1,1);for(var z=d.next(),F=new Float32Array(4),K=0;K<g.length&&z;K++){var H=u[K];m+=H/2;if(m>z.length()){z.delete();z=d.next();if(!z){g=g.substring(0,K);break}m=H/2}z.getPosTan(m,F);var S=F[2],p=F[3];w.push(S,p,F[0]-H/2*S,F[1]-H/2*p);m+=H/2}g=this.MakeFromRSXform(g,w,h);
z&&z.delete();d.delete();return g}};a.TextBlob.MakeFromRSXform=function(g,d,h){var m=ka(g)+1,u=a._malloc(m);la(g,B,u,m);g=l(d,"HEAPF32");h=a.TextBlob._MakeFromRSXform(u,m-1,g,h);a._free(u);return h?h:null};a.TextBlob.MakeFromRSXformGlyphs=function(g,d,h){var m=l(g,"HEAPU16");d=l(d,"HEAPF32");h=a.TextBlob._MakeFromRSXformGlyphs(m,2*g.length,d,h);k(m,g);return h?h:null};a.TextBlob.MakeFromGlyphs=function(g,d){var h=l(g,"HEAPU16");d=a.TextBlob._MakeFromGlyphs(h,2*g.length,d);k(h,g);return d?d:null};
a.TextBlob.MakeFromText=function(g,d){var h=ka(g)+1,m=a._malloc(h);la(g,B,m,h);g=a.TextBlob._MakeFromText(m,h-1,d);a._free(m);return g?g:null};a.MallocGlyphIDs=function(g){return a.Malloc(Uint16Array,g)}});a.Rd=a.Rd||[];a.Rd.push(function(){a.MakePicture=function(g){g=new Uint8Array(g);var d=a._malloc(g.byteLength);a.HEAPU8.set(g,d);return(g=a._MakePicture(d,g.byteLength))?g:null}});a.Rd=a.Rd||[];a.Rd.push(function(){a.RuntimeEffect.Make=function(g,d){return a.RuntimeEffect._Make(g,{onError:d||function(h){console.log("RuntimeEffect error",
h)}})};a.RuntimeEffect.prototype.makeShader=function(g,d){var h=!g._ck,m=l(g,"HEAPF32");d=q(d);return this._makeShader(m,4*g.length,h,d)};a.RuntimeEffect.prototype.makeShaderWithChildren=function(g,d,h){var m=!g._ck,u=l(g,"HEAPF32");h=q(h);for(var w=[],z=0;z<d.length;z++)w.push(d[z].Md.Pd);d=l(w,"HEAPU32");return this._makeShaderWithChildren(u,4*g.length,m,d,w.length,h)}})})(r);
var ma=aa({},r),na="./this.program",oa=(a,b)=>{throw b;},qa="object"===typeof window,ra="function"===typeof importScripts,sa="object"===typeof process&&"object"===typeof process.versions&&"string"===typeof process.versions.node,ta="",wa,xa,ya,fs,Aa,Ca;
if(sa)ta=ra?require("path").dirname(ta)+"/":__dirname+"/",Ca=()=>{Aa||(fs=require("fs"),Aa=require("path"))},wa=function(a,b){Ca();a=Aa.normalize(a);return fs.readFileSync(a,b?null:"utf8")},ya=a=>{a=wa(a,!0);a.buffer||(a=new Uint8Array(a));return a},xa=(a,b,c)=>{Ca();a=Aa.normalize(a);fs.readFile(a,function(e,f){e?c(e):b(f.buffer)})},1<process.argv.length&&(na=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),process.on("unhandledRejection",function(a){throw a;}),oa=(a,b)=>{if(noExitRuntime||
0<Da)throw process.exitCode=a,b;b instanceof Ea||Fa("exiting due to exception: "+b);process.exit(a)},r.inspect=function(){return"[Emscripten Module object]"};else if(qa||ra)ra?ta=self.location.href:"undefined"!==typeof document&&document.currentScript&&(ta=document.currentScript.src),_scriptDir&&(ta=_scriptDir),0!==ta.indexOf("blob:")?ta=ta.substr(0,ta.replace(/[?#].*/,"").lastIndexOf("/")+1):ta="",wa=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},ra&&(ya=a=>{var b=
new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}),xa=(a,b,c)=>{var e=new XMLHttpRequest;e.open("GET",a,!0);e.responseType="arraybuffer";e.onload=()=>{200==e.status||0==e.status&&e.response?b(e.response):c()};e.onerror=c;e.send(null)};var Ga=r.print||console.log.bind(console),Fa=r.printErr||console.warn.bind(console);aa(r,ma);ma=null;r.thisProgram&&(na=r.thisProgram);r.quit&&(oa=r.quit);var Ha=0,Ia;r.wasmBinary&&(Ia=r.wasmBinary);
var noExitRuntime=r.noExitRuntime||!0;"object"!==typeof WebAssembly&&Ja("no native wasm support detected");var Ka,La=!1,Na="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;
function Oa(a,b,c){var e=b+c;for(c=b;a[c]&&!(c>=e);)++c;if(16<c-b&&a.subarray&&Na)return Na.decode(a.subarray(b,c));for(e="";b<c;){var f=a[b++];if(f&128){var k=a[b++]&63;if(192==(f&224))e+=String.fromCharCode((f&31)<<6|k);else{var l=a[b++]&63;f=224==(f&240)?(f&15)<<12|k<<6|l:(f&7)<<18|k<<12|l<<6|a[b++]&63;65536>f?e+=String.fromCharCode(f):(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else e+=String.fromCharCode(f)}return e}function Pa(a,b){return a?Oa(B,a,b):""}
function la(a,b,c,e){if(!(0<e))return 0;var f=c;e=c+e-1;for(var k=0;k<a.length;++k){var l=a.charCodeAt(k);if(55296<=l&&57343>=l){var n=a.charCodeAt(++k);l=65536+((l&1023)<<10)|n&1023}if(127>=l){if(c>=e)break;b[c++]=l}else{if(2047>=l){if(c+1>=e)break;b[c++]=192|l>>6}else{if(65535>=l){if(c+2>=e)break;b[c++]=224|l>>12}else{if(c+3>=e)break;b[c++]=240|l>>18;b[c++]=128|l>>12&63}b[c++]=128|l>>6&63}b[c++]=128|l&63}}b[c]=0;return c-f}
function ka(a){for(var b=0,c=0;c<a.length;++c){var e=a.charCodeAt(c);55296<=e&&57343>=e&&(e=65536+((e&1023)<<10)|a.charCodeAt(++c)&1023);127>=e?++b:b=2047>=e?b+2:65535>=e?b+3:b+4}return b}var Qa="undefined"!==typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function Sa(a,b){var c=a>>1;for(var e=c+b/2;!(c>=e)&&Ta[c];)++c;c<<=1;if(32<c-a&&Qa)return Qa.decode(B.subarray(a,c));c="";for(e=0;!(e>=b/2);++e){var f=Ua[a+2*e>>1];if(0==f)break;c+=String.fromCharCode(f)}return c}
function Va(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var e=b;c=c<2*a.length?c/2:a.length;for(var f=0;f<c;++f)Ua[b>>1]=a.charCodeAt(f),b+=2;Ua[b>>1]=0;return b-e}function Wa(a){return 2*a.length}function Xa(a,b){for(var c=0,e="";!(c>=b/4);){var f=G[a+4*c>>2];if(0==f)break;++c;65536<=f?(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023)):e+=String.fromCharCode(f)}return e}
function Ya(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var e=b;c=e+c-4;for(var f=0;f<a.length;++f){var k=a.charCodeAt(f);if(55296<=k&&57343>=k){var l=a.charCodeAt(++f);k=65536+((k&1023)<<10)|l&1023}G[b>>2]=k;b+=4;if(b+4>c)break}G[b>>2]=0;return b-e}function Za(a){for(var b=0,c=0;c<a.length;++c){var e=a.charCodeAt(c);55296<=e&&57343>=e&&++c;b+=4}return b}var $a,ab,B,Ua,Ta,G,J,N,bb;
function cb(){var a=Ka.buffer;$a=a;r.HEAP8=ab=new Int8Array(a);r.HEAP16=Ua=new Int16Array(a);r.HEAP32=G=new Int32Array(a);r.HEAPU8=B=new Uint8Array(a);r.HEAPU16=Ta=new Uint16Array(a);r.HEAPU32=J=new Uint32Array(a);r.HEAPF32=N=new Float32Array(a);r.HEAPF64=bb=new Float64Array(a)}var db,eb=[],fb=[],hb=[],Da=0;function ib(){var a=r.preRun.shift();eb.unshift(a)}var jb=0,kb=null,lb=null;r.preloadedImages={};r.preloadedAudios={};
function Ja(a){if(r.onAbort)r.onAbort(a);a="Aborted("+a+")";Fa(a);La=!0;a=new WebAssembly.RuntimeError(a+". Build with -s ASSERTIONS=1 for more info.");ca(a);throw a;}function mb(){return nb.startsWith("data:application/octet-stream;base64,")}var nb;nb="canvaskit.wasm";if(!mb()){var ob=nb;nb=r.locateFile?r.locateFile(ob,ta):ta+ob}function pb(){var a=nb;try{if(a==nb&&Ia)return new Uint8Array(Ia);if(ya)return ya(a);throw"both async and sync fetching of the wasm failed";}catch(b){Ja(b)}}
function qb(){if(!Ia&&(qa||ra)){if("function"===typeof fetch&&!nb.startsWith("file://"))return fetch(nb,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+nb+"'";return a.arrayBuffer()}).catch(function(){return pb()});if(xa)return new Promise(function(a,b){xa(nb,function(c){a(new Uint8Array(c))},b)})}return Promise.resolve().then(function(){return pb()})}
function rb(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(r);else{var c=b.Jf;"number"===typeof c?void 0===b.Ae?O(c)():O(c)(b.Ae):c(void 0===b.Ae?null:b.Ae)}}}function O(a){return db.get(a)}
function sb(a){this.Pd=a-16;this.zf=function(b){G[this.Pd+4>>2]=b};this.wf=function(b){G[this.Pd+8>>2]=b};this.xf=function(){G[this.Pd>>2]=0};this.vf=function(){ab[this.Pd+12>>0]=0};this.yf=function(){ab[this.Pd+13>>0]=0};this.mf=function(b,c){this.zf(b);this.wf(c);this.xf();this.vf();this.yf()}}var tb=0,ub={},vb=[null,[],[]],wb={},xb={};function yb(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function zb(a){return this.fromWireType(J[a>>2])}var Ab={},Bb={},Cb={};
function Db(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a}function Eb(a,b){a=Db(a);return function(){null;return b.apply(this,arguments)}}
function Fb(a){var b=Error,c=Eb(a,function(e){this.name=a;this.message=e;e=Error(e).stack;void 0!==e&&(this.stack=this.toString()+"\n"+e.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(b.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}var Mb=void 0;function Nb(a){throw new Mb(a);}
function Ob(a,b,c){function e(n){n=c(n);n.length!==a.length&&Nb("Mismatched type converter count");for(var q=0;q<a.length;++q)Pb(a[q],n[q])}a.forEach(function(n){Cb[n]=b});var f=Array(b.length),k=[],l=0;b.forEach(function(n,q){Bb.hasOwnProperty(n)?f[q]=Bb[n]:(k.push(n),Ab.hasOwnProperty(n)||(Ab[n]=[]),Ab[n].push(function(){f[q]=Bb[n];++l;l===k.length&&e(f)}))});0===k.length&&e(f)}
function Qb(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var Rb=void 0;function P(a){for(var b="";B[a];)b+=Rb[B[a++]];return b}var Sb=void 0;function Q(a){throw new Sb(a);}
function Pb(a,b,c={}){if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var e=b.name;a||Q('type "'+e+'" must have a positive integer typeid pointer');if(Bb.hasOwnProperty(a)){if(c.lf)return;Q("Cannot register type '"+e+"' twice")}Bb[a]=b;delete Cb[a];Ab.hasOwnProperty(a)&&(b=Ab[a],delete Ab[a],b.forEach(function(f){f()}))}function Tb(a){Q(a.Md.Sd.Qd.name+" instance already deleted")}var Ub=!1;function Vb(){}
function Wb(a){--a.count.value;0===a.count.value&&(a.Ud?a.Yd.ae(a.Ud):a.Sd.Qd.ae(a.Pd))}function Xb(a){if("undefined"===typeof FinalizationGroup)return Xb=b=>b,a;Ub=new FinalizationGroup(function(b){for(var c=b.next();!c.done;c=b.next())c=c.value,c.Pd?Wb(c):console.warn("object already deleted: "+c.Pd)});Xb=b=>{Ub.register(b,b.Md,b.Md);return b};Vb=b=>{Ub.unregister(b.Md)};return Xb(a)}var Yb=void 0,Zb=[];function $b(){for(;Zb.length;){var a=Zb.pop();a.Md.fe=!1;a["delete"]()}}function ac(){}
var bc={};function cc(a,b,c){if(void 0===a[b].Td){var e=a[b];a[b]=function(){a[b].Td.hasOwnProperty(arguments.length)||Q("Function '"+c+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+a[b].Td+")!");return a[b].Td[arguments.length].apply(this,arguments)};a[b].Td=[];a[b].Td[e.de]=e}}
function dc(a,b,c){r.hasOwnProperty(a)?((void 0===c||void 0!==r[a].Td&&void 0!==r[a].Td[c])&&Q("Cannot register public name '"+a+"' twice"),cc(r,a,a),r.hasOwnProperty(c)&&Q("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),r[a].Td[c]=b):(r[a]=b,void 0!==c&&(r[a].Lf=c))}function ec(a,b,c,e,f,k,l,n){this.name=a;this.constructor=b;this.ge=c;this.ae=e;this.$d=f;this.df=k;this.oe=l;this.af=n;this.tf=[]}
function fc(a,b,c){for(;b!==c;)b.oe||Q("Expected null or instance of "+c.name+", got an instance of "+b.name),a=b.oe(a),b=b.$d;return a}function gc(a,b){if(null===b)return this.De&&Q("null is not a valid "+this.name),0;b.Md||Q('Cannot pass "'+hc(b)+'" as a '+this.name);b.Md.Pd||Q("Cannot pass deleted object as a pointer of type "+this.name);return fc(b.Md.Pd,b.Md.Sd.Qd,this.Qd)}
function ic(a,b){if(null===b){this.De&&Q("null is not a valid "+this.name);if(this.se){var c=this.Ee();null!==a&&a.push(this.ae,c);return c}return 0}b.Md||Q('Cannot pass "'+hc(b)+'" as a '+this.name);b.Md.Pd||Q("Cannot pass deleted object as a pointer of type "+this.name);!this.re&&b.Md.Sd.re&&Q("Cannot convert argument of type "+(b.Md.Yd?b.Md.Yd.name:b.Md.Sd.name)+" to parameter type "+this.name);c=fc(b.Md.Pd,b.Md.Sd.Qd,this.Qd);if(this.se)switch(void 0===b.Md.Ud&&Q("Passing raw pointer to smart pointer is illegal"),
this.Df){case 0:b.Md.Yd===this?c=b.Md.Ud:Q("Cannot convert argument of type "+(b.Md.Yd?b.Md.Yd.name:b.Md.Sd.name)+" to parameter type "+this.name);break;case 1:c=b.Md.Ud;break;case 2:if(b.Md.Yd===this)c=b.Md.Ud;else{var e=b.clone();c=this.uf(c,jc(function(){e["delete"]()}));null!==a&&a.push(this.ae,c)}break;default:Q("Unsupporting sharing policy")}return c}
function kc(a,b){if(null===b)return this.De&&Q("null is not a valid "+this.name),0;b.Md||Q('Cannot pass "'+hc(b)+'" as a '+this.name);b.Md.Pd||Q("Cannot pass deleted object as a pointer of type "+this.name);b.Md.Sd.re&&Q("Cannot convert argument of type "+b.Md.Sd.name+" to parameter type "+this.name);return fc(b.Md.Pd,b.Md.Sd.Qd,this.Qd)}function lc(a,b,c){if(b===c)return a;if(void 0===c.$d)return null;a=lc(a,b,c.$d);return null===a?null:c.af(a)}var mc={};
function nc(a,b){for(void 0===b&&Q("ptr should not be undefined");a.$d;)b=a.oe(b),a=a.$d;return mc[b]}function oc(a,b){b.Sd&&b.Pd||Nb("makeClassHandle requires ptr and ptrType");!!b.Yd!==!!b.Ud&&Nb("Both smartPtrType and smartPtr must be specified");b.count={value:1};return Xb(Object.create(a,{Md:{value:b}}))}
function wc(a,b,c,e,f,k,l,n,q,x,y){this.name=a;this.Qd=b;this.De=c;this.re=e;this.se=f;this.sf=k;this.Df=l;this.Ne=n;this.Ee=q;this.uf=x;this.ae=y;f||void 0!==b.$d?this.toWireType=ic:(this.toWireType=e?gc:kc,this.Xd=null)}function xc(a,b,c){r.hasOwnProperty(a)||Nb("Replacing nonexistant public symbol");void 0!==r[a].Td&&void 0!==c?r[a].Td[c]=b:(r[a]=b,r[a].de=c)}
function yc(a,b){var c=[];return function(){c.length=arguments.length;for(var e=0;e<arguments.length;e++)c[e]=arguments[e];a.includes("j")?(e=r["dynCall_"+a],e=c&&c.length?e.apply(null,[b].concat(c)):e.call(null,b)):e=O(b).apply(null,c);return e}}function T(a,b){a=P(a);var c=a.includes("j")?yc(a,b):O(b);"function"!==typeof c&&Q("unknown function pointer with signature "+a+": "+b);return c}var zc=void 0;function Ac(a){a=Bc(a);var b=P(a);Cc(a);return b}
function Dc(a,b){function c(k){f[k]||Bb[k]||(Cb[k]?Cb[k].forEach(c):(e.push(k),f[k]=!0))}var e=[],f={};b.forEach(c);throw new zc(a+": "+e.map(Ac).join([", "]));}
function Ec(a,b,c,e,f){var k=b.length;2>k&&Q("argTypes array size mismatch! Must at least get return value and 'this' types!");var l=null!==b[1]&&null!==c,n=!1;for(c=1;c<b.length;++c)if(null!==b[c]&&void 0===b[c].Xd){n=!0;break}var q="void"!==b[0].name,x=k-2,y=Array(x),C=[],E=[];return function(){arguments.length!==x&&Q("function "+a+" called with "+arguments.length+" arguments, expected "+x+" args!");E.length=0;C.length=l?2:1;C[0]=f;if(l){var v=b[1].toWireType(E,this);C[1]=v}for(var D=0;D<x;++D)y[D]=
b[D+2].toWireType(E,arguments[D]),C.push(y[D]);D=e.apply(null,C);if(n)yb(E);else for(var I=l?1:2;I<b.length;I++){var R=1===I?v:y[I-2];null!==b[I].Xd&&b[I].Xd(R)}v=q?b[0].fromWireType(D):void 0;return v}}function Fc(a,b){for(var c=[],e=0;e<a;e++)c.push(G[(b>>2)+e]);return c}var Gc=[],Hc=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function Ic(a){4<a&&0===--Hc[a].Fe&&(Hc[a]=void 0,Gc.push(a))}function Jc(a){a||Q("Cannot use deleted val. handle = "+a);return Hc[a].value}
function jc(a){switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=Gc.length?Gc.pop():Hc.length;Hc[b]={Fe:1,value:a};return b}}function Kc(a,b,c){switch(b){case 0:return function(e){return this.fromWireType((c?ab:B)[e])};case 1:return function(e){return this.fromWireType((c?Ua:Ta)[e>>1])};case 2:return function(e){return this.fromWireType((c?G:J)[e>>2])};default:throw new TypeError("Unknown integer type: "+a);}}
function Lc(a,b){var c=Bb[a];void 0===c&&Q(b+" has unknown type "+Ac(a));return c}function hc(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}function Mc(a,b){switch(b){case 2:return function(c){return this.fromWireType(N[c>>2])};case 3:return function(c){return this.fromWireType(bb[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}
function Nc(a,b,c){switch(b){case 0:return c?function(e){return ab[e]}:function(e){return B[e]};case 1:return c?function(e){return Ua[e>>1]}:function(e){return Ta[e>>1]};case 2:return c?function(e){return G[e>>2]}:function(e){return J[e>>2]};default:throw new TypeError("Unknown integer type: "+a);}}var Oc={};function Pc(a){var b=Oc[a];return void 0===b?P(a):b}var Qc=[];
function Rc(){function a(b){b.$$$embind_global$$$=b;var c="object"===typeof $$$embind_global$$$&&b.$$$embind_global$$$===b;c||delete b.$$$embind_global$$$;return c}if("object"===typeof globalThis)return globalThis;if("object"===typeof $$$embind_global$$$)return $$$embind_global$$$;"object"===typeof global&&a(global)?$$$embind_global$$$=global:"object"===typeof self&&a(self)&&($$$embind_global$$$=self);if("object"===typeof $$$embind_global$$$)return $$$embind_global$$$;throw Error("unable to get global object.");
}function Sc(a){var b=Qc.length;Qc.push(a);return b}function Tc(a,b){for(var c=Array(a),e=0;e<a;++e)c[e]=Lc(G[(b>>2)+e],"parameter "+e);return c}var Uc=[];function Vc(a){var b=Array(a+1);return function(c,e,f){b[0]=c;for(var k=0;k<a;++k){var l=Lc(G[(e>>2)+k],"parameter "+k);b[k+1]=l.readValueFromPointer(f);f+=l.argPackAdvance}c=new (c.bind.apply(c,b));return jc(c)}}var Wc={},Xc;Xc=sa?()=>{var a=process.hrtime();return 1E3*a[0]+a[1]/1E6}:()=>performance.now();
function Yc(a){var b=a.getExtension("ANGLE_instanced_arrays");b&&(a.vertexAttribDivisor=function(c,e){b.vertexAttribDivisorANGLE(c,e)},a.drawArraysInstanced=function(c,e,f,k){b.drawArraysInstancedANGLE(c,e,f,k)},a.drawElementsInstanced=function(c,e,f,k,l){b.drawElementsInstancedANGLE(c,e,f,k,l)})}
function Zc(a){var b=a.getExtension("OES_vertex_array_object");b&&(a.createVertexArray=function(){return b.createVertexArrayOES()},a.deleteVertexArray=function(c){b.deleteVertexArrayOES(c)},a.bindVertexArray=function(c){b.bindVertexArrayOES(c)},a.isVertexArray=function(c){return b.isVertexArrayOES(c)})}function $c(a){var b=a.getExtension("WEBGL_draw_buffers");b&&(a.drawBuffers=function(c,e){b.drawBuffersWEBGL(c,e)})}
var ad=1,bd=[],cd=[],dd=[],ed=[],fa=[],fd=[],gd=[],ja=[],hd=[],jd=[],kd={},ld={},md=4;function W(a){nd||(nd=a)}function ea(a){for(var b=ad++,c=a.length;c<b;c++)a[c]=null;return b}function ha(a,b){a.Le||(a.Le=a.getContext,a.getContext=function(e,f){f=a.Le(e,f);return"webgl"==e==f instanceof WebGLRenderingContext?f:null});var c=1<b.majorVersion?a.getContext("webgl2",b):a.getContext("webgl",b);return c?pd(c,b):0}
function pd(a,b){var c=ea(ja),e={kf:c,attributes:b,version:b.majorVersion,Zd:a};a.canvas&&(a.canvas.Qe=e);ja[c]=e;("undefined"===typeof b.bf||b.bf)&&qd(e);return c}function ia(a){t=ja[a];r.If=X=t&&t.Zd;return!(a&&!X)}
function qd(a){a||(a=t);if(!a.nf){a.nf=!0;var b=a.Zd;Yc(b);Zc(b);$c(b);b.Ie=b.getExtension("WEBGL_draw_instanced_base_vertex_base_instance");b.Me=b.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance");2<=a.version&&(b.Je=b.getExtension("EXT_disjoint_timer_query_webgl2"));if(2>a.version||!b.Je)b.Je=b.getExtension("EXT_disjoint_timer_query");b.Kf=b.getExtension("WEBGL_multi_draw");(b.getSupportedExtensions()||[]).forEach(function(c){c.includes("lose_context")||c.includes("debug")||b.getExtension(c)})}}
var t,nd,rd=[];function sd(a,b,c,e){for(var f=0;f<a;f++){var k=X[c](),l=k&&ea(e);k?(k.name=l,e[l]=k):W(1282);G[b+4*f>>2]=l}}
function td(a,b,c){if(b){var e=void 0;switch(a){case 36346:e=1;break;case 36344:0!=c&&1!=c&&W(1280);return;case 34814:case 36345:e=0;break;case 34466:var f=X.getParameter(34467);e=f?f.length:0;break;case 33309:if(2>t.version){W(1282);return}e=2*(X.getSupportedExtensions()||[]).length;break;case 33307:case 33308:if(2>t.version){W(1280);return}e=33307==a?3:0}if(void 0===e)switch(f=X.getParameter(a),typeof f){case "number":e=f;break;case "boolean":e=f?1:0;break;case "string":W(1280);return;case "object":if(null===
f)switch(a){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:e=0;break;default:W(1280);return}else{if(f instanceof Float32Array||f instanceof Uint32Array||f instanceof Int32Array||f instanceof Array){for(a=0;a<f.length;++a)switch(c){case 0:G[b+4*a>>2]=f[a];break;case 2:N[b+4*a>>2]=f[a];break;case 4:ab[b+a>>0]=f[a]?1:0}return}try{e=f.name|0}catch(k){W(1280);
Fa("GL_INVALID_ENUM in glGet"+c+"v: Unknown object returned from WebGL getParameter("+a+")! (error: "+k+")");return}}break;default:W(1280);Fa("GL_INVALID_ENUM in glGet"+c+"v: Native code calling glGet"+c+"v("+a+") and it returns "+f+" of type "+typeof f+"!");return}switch(c){case 1:c=e;J[b>>2]=c;J[b+4>>2]=(c-J[b>>2])/4294967296;break;case 0:G[b>>2]=e;break;case 2:N[b>>2]=e;break;case 4:ab[b>>0]=e?1:0}}else W(1281)}function ud(a){var b=ka(a)+1,c=vd(b);la(a,B,c,b);return c}
function wd(a){return"]"==a.slice(-1)&&a.lastIndexOf("[")}function xd(a){a-=5120;return 0==a?ab:1==a?B:2==a?Ua:4==a?G:6==a?N:5==a||28922==a||28520==a||30779==a||30782==a?J:Ta}function yd(a,b,c,e,f){a=xd(a);var k=31-Math.clz32(a.BYTES_PER_ELEMENT),l=md;return a.subarray(f>>k,f+e*(c*({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[b-6402]||1)*(1<<k)+l-1&-l)>>k)}
function Y(a){var b=X.Ye;if(b){var c=b.ne[a];"number"===typeof c&&(b.ne[a]=c=X.getUniformLocation(b,b.Oe[a]+(0<c?"["+c+"]":"")));return c}W(1282)}var zd=[],Ad=[],Bd={};
function Cd(){if(!Dd){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"===typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:na||"./this.program"},b;for(b in Bd)void 0===Bd[b]?delete a[b]:a[b]=Bd[b];var c=[];for(b in a)c.push(b+"="+a[b]);Dd=c}return Dd}var Dd;function Ed(a){return 0===a%4&&(0!==a%100||0===a%400)}function Fd(a,b){for(var c=0,e=0;e<=b;c+=a[e++]);return c}
var Gd=[31,29,31,30,31,30,31,31,30,31,30,31],Hd=[31,28,31,30,31,30,31,31,30,31,30,31];function Id(a,b){for(a=new Date(a.getTime());0<b;){var c=a.getMonth(),e=(Ed(a.getFullYear())?Gd:Hd)[c];if(b>e-a.getDate())b-=e-a.getDate()+1,a.setDate(1),11>c?a.setMonth(c+1):(a.setMonth(0),a.setFullYear(a.getFullYear()+1));else{a.setDate(a.getDate()+b);break}}return a}
function Jd(a,b,c,e){function f(v,D,I){for(v="number"===typeof v?v.toString():v||"";v.length<D;)v=I[0]+v;return v}function k(v,D){return f(v,D,"0")}function l(v,D){function I(Z){return 0>Z?-1:0<Z?1:0}var R;0===(R=I(v.getFullYear()-D.getFullYear()))&&0===(R=I(v.getMonth()-D.getMonth()))&&(R=I(v.getDate()-D.getDate()));return R}function n(v){switch(v.getDay()){case 0:return new Date(v.getFullYear()-1,11,29);case 1:return v;case 2:return new Date(v.getFullYear(),0,3);case 3:return new Date(v.getFullYear(),
0,2);case 4:return new Date(v.getFullYear(),0,1);case 5:return new Date(v.getFullYear()-1,11,31);case 6:return new Date(v.getFullYear()-1,11,30)}}function q(v){v=Id(new Date(v.Vd+1900,0,1),v.ye);var D=new Date(v.getFullYear()+1,0,4),I=n(new Date(v.getFullYear(),0,4));D=n(D);return 0>=l(I,v)?0>=l(D,v)?v.getFullYear()+1:v.getFullYear():v.getFullYear()-1}var x=G[e+40>>2];e={Gf:G[e>>2],Ff:G[e+4>>2],we:G[e+8>>2],me:G[e+12>>2],he:G[e+16>>2],Vd:G[e+20>>2],xe:G[e+24>>2],ye:G[e+28>>2],Of:G[e+32>>2],Ef:G[e+
36>>2],Hf:x?Pa(x):""};c=Pa(c);x={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var y in x)c=c.replace(new RegExp(y,"g"),x[y]);var C="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),
E="January February March April May June July August September October November December".split(" ");x={"%a":function(v){return C[v.xe].substring(0,3)},"%A":function(v){return C[v.xe]},"%b":function(v){return E[v.he].substring(0,3)},"%B":function(v){return E[v.he]},"%C":function(v){return k((v.Vd+1900)/100|0,2)},"%d":function(v){return k(v.me,2)},"%e":function(v){return f(v.me,2," ")},"%g":function(v){return q(v).toString().substring(2)},"%G":function(v){return q(v)},"%H":function(v){return k(v.we,
2)},"%I":function(v){v=v.we;0==v?v=12:12<v&&(v-=12);return k(v,2)},"%j":function(v){return k(v.me+Fd(Ed(v.Vd+1900)?Gd:Hd,v.he-1),3)},"%m":function(v){return k(v.he+1,2)},"%M":function(v){return k(v.Ff,2)},"%n":function(){return"\n"},"%p":function(v){return 0<=v.we&&12>v.we?"AM":"PM"},"%S":function(v){return k(v.Gf,2)},"%t":function(){return"\t"},"%u":function(v){return v.xe||7},"%U":function(v){var D=new Date(v.Vd+1900,0,1),I=0===D.getDay()?D:Id(D,7-D.getDay());v=new Date(v.Vd+1900,v.he,v.me);return 0>
l(I,v)?k(Math.ceil((31-I.getDate()+(Fd(Ed(v.getFullYear())?Gd:Hd,v.getMonth()-1)-31)+v.getDate())/7),2):0===l(I,D)?"01":"00"},"%V":function(v){var D=new Date(v.Vd+1901,0,4),I=n(new Date(v.Vd+1900,0,4));D=n(D);var R=Id(new Date(v.Vd+1900,0,1),v.ye);return 0>l(R,I)?"53":0>=l(D,R)?"01":k(Math.ceil((I.getFullYear()<v.Vd+1900?v.ye+32-I.getDate():v.ye+1-I.getDate())/7),2)},"%w":function(v){return v.xe},"%W":function(v){var D=new Date(v.Vd,0,1),I=1===D.getDay()?D:Id(D,0===D.getDay()?1:7-D.getDay()+1);v=
new Date(v.Vd+1900,v.he,v.me);return 0>l(I,v)?k(Math.ceil((31-I.getDate()+(Fd(Ed(v.getFullYear())?Gd:Hd,v.getMonth()-1)-31)+v.getDate())/7),2):0===l(I,D)?"01":"00"},"%y":function(v){return(v.Vd+1900).toString().substring(2)},"%Y":function(v){return v.Vd+1900},"%z":function(v){v=v.Ef;var D=0<=v;v=Math.abs(v)/60;return(D?"+":"-")+String("0000"+(v/60*100+v%60)).slice(-4)},"%Z":function(v){return v.Hf},"%%":function(){return"%"}};for(y in x)c.includes(y)&&(c=c.replace(new RegExp(y,"g"),x[y](e)));y=Kd(c);
if(y.length>b)return 0;ab.set(y,a);return y.length-1}Mb=r.InternalError=Fb("InternalError");for(var Ld=Array(256),Md=0;256>Md;++Md)Ld[Md]=String.fromCharCode(Md);Rb=Ld;Sb=r.BindingError=Fb("BindingError");ac.prototype.isAliasOf=function(a){if(!(this instanceof ac&&a instanceof ac))return!1;var b=this.Md.Sd.Qd,c=this.Md.Pd,e=a.Md.Sd.Qd;for(a=a.Md.Pd;b.$d;)c=b.oe(c),b=b.$d;for(;e.$d;)a=e.oe(a),e=e.$d;return b===e&&c===a};
ac.prototype.clone=function(){this.Md.Pd||Tb(this);if(this.Md.le)return this.Md.count.value+=1,this;var a=Xb,b=Object,c=b.create,e=Object.getPrototypeOf(this),f=this.Md;a=a(c.call(b,e,{Md:{value:{count:f.count,fe:f.fe,le:f.le,Pd:f.Pd,Sd:f.Sd,Ud:f.Ud,Yd:f.Yd}}}));a.Md.count.value+=1;a.Md.fe=!1;return a};ac.prototype["delete"]=function(){this.Md.Pd||Tb(this);this.Md.fe&&!this.Md.le&&Q("Object already scheduled for deletion");Vb(this);Wb(this.Md);this.Md.le||(this.Md.Ud=void 0,this.Md.Pd=void 0)};
ac.prototype.isDeleted=function(){return!this.Md.Pd};ac.prototype.deleteLater=function(){this.Md.Pd||Tb(this);this.Md.fe&&!this.Md.le&&Q("Object already scheduled for deletion");Zb.push(this);1===Zb.length&&Yb&&Yb($b);this.Md.fe=!0;return this};wc.prototype.ef=function(a){this.Ne&&(a=this.Ne(a));return a};wc.prototype.He=function(a){this.ae&&this.ae(a)};wc.prototype.argPackAdvance=8;wc.prototype.readValueFromPointer=zb;wc.prototype.deleteObject=function(a){if(null!==a)a["delete"]()};
wc.prototype.fromWireType=function(a){function b(){return this.se?oc(this.Qd.ge,{Sd:this.sf,Pd:c,Yd:this,Ud:a}):oc(this.Qd.ge,{Sd:this,Pd:a})}var c=this.ef(a);if(!c)return this.He(a),null;var e=nc(this.Qd,c);if(void 0!==e){if(0===e.Md.count.value)return e.Md.Pd=c,e.Md.Ud=a,e.clone();e=e.clone();this.He(a);return e}e=this.Qd.df(c);e=bc[e];if(!e)return b.call(this);e=this.re?e.Xe:e.pointerType;var f=lc(c,this.Qd,e.Qd);return null===f?b.call(this):this.se?oc(e.Qd.ge,{Sd:e,Pd:f,Yd:this,Ud:a}):oc(e.Qd.ge,
{Sd:e,Pd:f})};r.getInheritedInstanceCount=function(){return Object.keys(mc).length};r.getLiveInheritedInstances=function(){var a=[],b;for(b in mc)mc.hasOwnProperty(b)&&a.push(mc[b]);return a};r.flushPendingDeletes=$b;r.setDelayFunction=function(a){Yb=a;Zb.length&&Yb&&Yb($b)};zc=r.UnboundTypeError=Fb("UnboundTypeError");r.count_emval_handles=function(){for(var a=0,b=5;b<Hc.length;++b)void 0!==Hc[b]&&++a;return a};
r.get_first_emval=function(){for(var a=5;a<Hc.length;++a)if(void 0!==Hc[a])return Hc[a];return null};for(var X,Nd=0;32>Nd;++Nd)rd.push(Array(Nd));var Od=new Float32Array(288);for(Nd=0;288>Nd;++Nd)zd[Nd]=Od.subarray(0,Nd+1);var Pd=new Int32Array(288);for(Nd=0;288>Nd;++Nd)Ad[Nd]=Pd.subarray(0,Nd+1);function Kd(a){var b=Array(ka(a)+1);la(a,b,0,b.length);return b}
var ee={K:function(a){return vd(a+16)+16},J:function(a,b,c){(new sb(a)).mf(b,c);tb++;throw a;},X:function(){return 0},vb:function(){},tb:function(){},xb:function(){return 0},sb:function(){},pb:function(a,b,c,e,f,k){k<<=12;if(0!==(e&16)&&0!==a%65536)b=-28;else if(0!==(e&32)){a=65536*Math.ceil(b/65536);var l=Qd(65536,a);l?(B.fill(0,l,l+a),a=l):a=0;a?(ub[a]={rf:a,qf:b,We:!0,fd:f,Mf:c,flags:e,offset:k},b=a):b=-48}else b=-52;return b},ob:function(a,b){var c=ub[a];0!==b&&c?(b===c.qf&&(ub[a]=null,c.We&&
Cc(c.rf)),a=0):a=-28;return a},Y:function(){},ub:function(){},C:function(a){var b=xb[a];delete xb[a];var c=b.Ee,e=b.ae,f=b.Ke,k=f.map(function(l){return l.jf}).concat(f.map(function(l){return l.Bf}));Ob([a],k,function(l){var n={};f.forEach(function(q,x){var y=l[x],C=q.gf,E=q.hf,v=l[x+f.length],D=q.Af,I=q.Cf;n[q.cf]={read:function(R){return y.fromWireType(C(E,R))},write:function(R,Z){var da=[];D(I,R,v.toWireType(da,Z));yb(da)}}});return[{name:b.name,fromWireType:function(q){var x={},y;for(y in n)x[y]=
n[y].read(q);e(q);return x},toWireType:function(q,x){for(var y in n)if(!(y in x))throw new TypeError('Missing field: "'+y+'"');var C=c();for(y in n)n[y].write(C,x[y]);null!==q&&q.push(e,C);return C},argPackAdvance:8,readValueFromPointer:zb,Xd:e}]})},jb:function(){},zb:function(a,b,c,e,f){var k=Qb(c);b=P(b);Pb(a,{name:b,fromWireType:function(l){return!!l},toWireType:function(l,n){return n?e:f},argPackAdvance:8,readValueFromPointer:function(l){if(1===c)var n=ab;else if(2===c)n=Ua;else if(4===c)n=G;
else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(n[l>>k])},Xd:null})},n:function(a,b,c,e,f,k,l,n,q,x,y,C,E){y=P(y);k=T(f,k);n&&(n=T(l,n));x&&(x=T(q,x));E=T(C,E);var v=Db(y);dc(v,function(){Dc("Cannot construct "+y+" due to unbound types",[e])});Ob([a,b,c],e?[e]:[],function(D){D=D[0];if(e){var I=D.Qd;var R=I.ge}else R=ac.prototype;D=Eb(v,function(){if(Object.getPrototypeOf(this)!==Z)throw new Sb("Use 'new' to construct "+y);if(void 0===da.be)throw new Sb(y+" has no accessible constructor");
var Ma=da.be[arguments.length];if(void 0===Ma)throw new Sb("Tried to invoke ctor of "+y+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(da.be).toString()+") parameters instead!");return Ma.apply(this,arguments)});var Z=Object.create(R,{constructor:{value:D}});D.prototype=Z;var da=new ec(y,D,Z,E,I,k,n,x);I=new wc(y,da,!0,!1,!1);R=new wc(y+"*",da,!1,!1,!1);var ua=new wc(y+" const*",da,!1,!0,!1);bc[a]={pointerType:R,Xe:ua};xc(v,D);return[I,R,ua]})},g:function(a,b,
c,e,f,k,l){var n=Fc(c,e);b=P(b);k=T(f,k);Ob([],[a],function(q){function x(){Dc("Cannot call "+y+" due to unbound types",n)}q=q[0];var y=q.name+"."+b;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);var C=q.Qd.constructor;void 0===C[b]?(x.de=c-1,C[b]=x):(cc(C,b,y),C[b].Td[c-1]=x);Ob([],n,function(E){E=[E[0],null].concat(E.slice(1));E=Ec(y,E,null,k,l);void 0===C[b].Td?(E.de=c-1,C[b]=E):C[b].Td[c-1]=E;return[]});return[]})},A:function(a,b,c,e,f,k){0<b||Ja(void 0);var l=Fc(b,c);f=T(e,f);Ob([],[a],function(n){n=
n[0];var q="constructor "+n.name;void 0===n.Qd.be&&(n.Qd.be=[]);if(void 0!==n.Qd.be[b-1])throw new Sb("Cannot register multiple constructors with identical number of parameters ("+(b-1)+") for class '"+n.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");n.Qd.be[b-1]=()=>{Dc("Cannot construct "+n.name+" due to unbound types",l)};Ob([],l,function(x){x.splice(1,0,null);n.Qd.be[b-1]=Ec(q,x,null,f,k);return[]});return[]})},a:function(a,b,c,e,f,
k,l,n){var q=Fc(c,e);b=P(b);k=T(f,k);Ob([],[a],function(x){function y(){Dc("Cannot call "+C+" due to unbound types",q)}x=x[0];var C=x.name+"."+b;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);n&&x.Qd.tf.push(b);var E=x.Qd.ge,v=E[b];void 0===v||void 0===v.Td&&v.className!==x.name&&v.de===c-2?(y.de=c-2,y.className=x.name,E[b]=y):(cc(E,b,C),E[b].Td[c-2]=y);Ob([],q,function(D){D=Ec(C,D,x,k,l);void 0===E[b].Td?(D.de=c-2,E[b]=D):E[b].Td[c-2]=D;return[]});return[]})},s:function(a,b,c){a=P(a);Ob([],[b],function(e){e=
e[0];r[a]=e.fromWireType(c);return[]})},yb:function(a,b){b=P(b);Pb(a,{name:b,fromWireType:function(c){var e=Jc(c);Ic(c);return e},toWireType:function(c,e){return jc(e)},argPackAdvance:8,readValueFromPointer:zb,Xd:null})},l:function(a,b,c,e){function f(){}c=Qb(c);b=P(b);f.values={};Pb(a,{name:b,constructor:f,fromWireType:function(k){return this.constructor.values[k]},toWireType:function(k,l){return l.value},argPackAdvance:8,readValueFromPointer:Kc(b,c,e),Xd:null});dc(b,f)},d:function(a,b,c){var e=
Lc(a,"enum");b=P(b);a=e.constructor;e=Object.create(e.constructor.prototype,{value:{value:c},constructor:{value:Eb(e.name+"_"+b,function(){})}});a.values[c]=e;a[b]=e},_:function(a,b,c){c=Qb(c);b=P(b);Pb(a,{name:b,fromWireType:function(e){return e},toWireType:function(e,f){return f},argPackAdvance:8,readValueFromPointer:Mc(b,c),Xd:null})},v:function(a,b,c,e,f,k){var l=Fc(b,c);a=P(a);f=T(e,f);dc(a,function(){Dc("Cannot call "+a+" due to unbound types",l)},b-1);Ob([],l,function(n){n=[n[0],null].concat(n.slice(1));
xc(a,Ec(a,n,null,f,k),b-1);return[]})},E:function(a,b,c,e,f){b=P(b);-1===f&&(f=4294967295);f=Qb(c);var k=n=>n;if(0===e){var l=32-8*c;k=n=>n<<l>>>l}c=b.includes("unsigned")?function(n,q){return q>>>0}:function(n,q){return q};Pb(a,{name:b,fromWireType:k,toWireType:c,argPackAdvance:8,readValueFromPointer:Nc(b,f,0!==e),Xd:null})},u:function(a,b,c){function e(k){k>>=2;var l=J;return new f($a,l[k+1],l[k])}var f=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];
c=P(c);Pb(a,{name:c,fromWireType:e,argPackAdvance:8,readValueFromPointer:e},{lf:!0})},r:function(a,b,c,e,f,k,l,n,q,x,y,C){c=P(c);k=T(f,k);n=T(l,n);x=T(q,x);C=T(y,C);Ob([a],[b],function(E){E=E[0];return[new wc(c,E.Qd,!1,!1,!0,E,e,k,n,x,C)]})},Z:function(a,b){b=P(b);var c="std::string"===b;Pb(a,{name:b,fromWireType:function(e){var f=J[e>>2];if(c)for(var k=e+4,l=0;l<=f;++l){var n=e+4+l;if(l==f||0==B[n]){k=Pa(k,n-k);if(void 0===q)var q=k;else q+=String.fromCharCode(0),q+=k;k=n+1}}else{q=Array(f);for(l=
0;l<f;++l)q[l]=String.fromCharCode(B[e+4+l]);q=q.join("")}Cc(e);return q},toWireType:function(e,f){f instanceof ArrayBuffer&&(f=new Uint8Array(f));var k="string"===typeof f;k||f instanceof Uint8Array||f instanceof Uint8ClampedArray||f instanceof Int8Array||Q("Cannot pass non-string to std::string");var l=(c&&k?()=>ka(f):()=>f.length)(),n=vd(4+l+1);J[n>>2]=l;if(c&&k)la(f,B,n+4,l+1);else if(k)for(k=0;k<l;++k){var q=f.charCodeAt(k);255<q&&(Cc(n),Q("String has UTF-16 code units that do not fit in 8 bits"));
B[n+4+k]=q}else for(k=0;k<l;++k)B[n+4+k]=f[k];null!==e&&e.push(Cc,n);return n},argPackAdvance:8,readValueFromPointer:zb,Xd:function(e){Cc(e)}})},R:function(a,b,c){c=P(c);if(2===b){var e=Sa;var f=Va;var k=Wa;var l=()=>Ta;var n=1}else 4===b&&(e=Xa,f=Ya,k=Za,l=()=>J,n=2);Pb(a,{name:c,fromWireType:function(q){for(var x=J[q>>2],y=l(),C,E=q+4,v=0;v<=x;++v){var D=q+4+v*b;if(v==x||0==y[D>>n])E=e(E,D-E),void 0===C?C=E:(C+=String.fromCharCode(0),C+=E),E=D+b}Cc(q);return C},toWireType:function(q,x){"string"!==
typeof x&&Q("Cannot pass non-string to C++ string type "+c);var y=k(x),C=vd(4+y+b);J[C>>2]=y>>n;f(x,C+4,y+b);null!==q&&q.push(Cc,C);return C},argPackAdvance:8,readValueFromPointer:zb,Xd:function(q){Cc(q)}})},D:function(a,b,c,e,f,k){xb[a]={name:P(b),Ee:T(c,e),ae:T(f,k),Ke:[]}},f:function(a,b,c,e,f,k,l,n,q,x){xb[a].Ke.push({cf:P(b),jf:c,gf:T(e,f),hf:k,Bf:l,Af:T(n,q),Cf:x})},Ab:function(a,b){b=P(b);Pb(a,{pf:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},mb:function(){throw"longjmp";
},I:function(a,b,c){a=Jc(a);b=Lc(b,"emval::as");var e=[],f=jc(e);G[c>>2]=f;return b.toWireType(e,a)},L:function(a,b,c,e,f){a=Qc[a];b=Jc(b);c=Pc(c);var k=[];G[e>>2]=jc(k);return a(b,c,k,f)},B:function(a,b,c,e){a=Qc[a];b=Jc(b);c=Pc(c);a(b,c,null,e)},e:Ic,N:function(a){if(0===a)return jc(Rc());a=Pc(a);return jc(Rc()[a])},w:function(a,b){var c=Tc(a,b),e=c[0];b=e.name+"_$"+c.slice(1).map(function(l){return l.name}).join("_")+"$";var f=Uc[b];if(void 0!==f)return f;var k=Array(a-1);f=Sc((l,n,q,x)=>{for(var y=
0,C=0;C<a-1;++C)k[C]=c[C+1].readValueFromPointer(x+y),y+=c[C+1].argPackAdvance;l=l[n].apply(l,k);for(C=0;C<a-1;++C)c[C+1].Ze&&c[C+1].Ze(k[C]);if(!e.pf)return e.toWireType(q,l)});return Uc[b]=f},H:function(a,b){a=Jc(a);b=Jc(b);return jc(a[b])},p:function(a){4<a&&(Hc[a].Fe+=1)},M:function(a,b,c,e){a=Jc(a);var f=Wc[b];f||(f=Vc(b),Wc[b]=f);return f(a,c,e)},P:function(){return jc([])},h:function(a){return jc(Pc(a))},G:function(){return jc({})},fb:function(a){a=Jc(a);return!a},F:function(a){var b=Jc(a);
yb(b);Ic(a)},k:function(a,b,c){a=Jc(a);b=Jc(b);c=Jc(c);a[b]=c},i:function(a,b){a=Lc(a,"_emval_take_value");a=a.readValueFromPointer(b);return jc(a)},j:function(){Ja("")},lb:function(a,b){if(0===a)a=Date.now();else if(1===a||4===a)a=Xc();else return G[Rd()>>2]=28,-1;G[b>>2]=a/1E3|0;G[b+4>>2]=a%1E3*1E6|0;return 0},Tc:function(a){X.activeTexture(a)},Uc:function(a,b){X.attachShader(cd[a],fd[b])},Vc:function(a,b,c){X.bindAttribLocation(cd[a],b,Pa(c))},Wc:function(a,b){35051==a?X.Be=b:35052==a&&(X.ee=b);
X.bindBuffer(a,bd[b])},da:function(a,b){X.bindFramebuffer(a,dd[b])},Xb:function(a,b){X.bindRenderbuffer(a,ed[b])},Hb:function(a,b){X.bindSampler(a,hd[b])},Xc:function(a,b){X.bindTexture(a,fa[b])},pc:function(a){X.bindVertexArray(gd[a])},sc:function(a){X.bindVertexArray(gd[a])},Yc:function(a,b,c,e){X.blendColor(a,b,c,e)},Zc:function(a){X.blendEquation(a)},_c:function(a,b){X.blendFunc(a,b)},Rb:function(a,b,c,e,f,k,l,n,q,x){X.blitFramebuffer(a,b,c,e,f,k,l,n,q,x)},$c:function(a,b,c,e){2<=t.version?c?
X.bufferData(a,B,e,c,b):X.bufferData(a,b,e):X.bufferData(a,c?B.subarray(c,c+b):b,e)},ad:function(a,b,c,e){2<=t.version?X.bufferSubData(a,b,B,e,c):X.bufferSubData(a,b,B.subarray(e,e+c))},Yb:function(a){return X.checkFramebufferStatus(a)},U:function(a){X.clear(a)},ca:function(a,b,c,e){X.clearColor(a,b,c,e)},W:function(a){X.clearStencil(a)},db:function(a,b,c,e){return X.clientWaitSync(jd[a],b,(c>>>0)+4294967296*e)},bd:function(a,b,c,e){X.colorMask(!!a,!!b,!!c,!!e)},ea:function(a){X.compileShader(fd[a])},
fa:function(a,b,c,e,f,k,l,n){2<=t.version?X.ee?X.compressedTexImage2D(a,b,c,e,f,k,l,n):X.compressedTexImage2D(a,b,c,e,f,k,B,n,l):X.compressedTexImage2D(a,b,c,e,f,k,n?B.subarray(n,n+l):null)},ga:function(a,b,c,e,f,k,l,n,q){2<=t.version?X.ee?X.compressedTexSubImage2D(a,b,c,e,f,k,l,n,q):X.compressedTexSubImage2D(a,b,c,e,f,k,l,B,q,n):X.compressedTexSubImage2D(a,b,c,e,f,k,l,q?B.subarray(q,q+n):null)},Pb:function(a,b,c,e,f){X.copyBufferSubData(a,b,c,e,f)},ha:function(a,b,c,e,f,k,l,n){X.copyTexSubImage2D(a,
b,c,e,f,k,l,n)},ia:function(){var a=ea(cd),b=X.createProgram();b.name=a;b.ve=b.te=b.ue=0;b.Ge=1;cd[a]=b;return a},ja:function(a){var b=ea(fd);fd[b]=X.createShader(a);return b},ka:function(a){X.cullFace(a)},la:function(a,b){for(var c=0;c<a;c++){var e=G[b+4*c>>2],f=bd[e];f&&(X.deleteBuffer(f),f.name=0,bd[e]=null,e==X.Be&&(X.Be=0),e==X.ee&&(X.ee=0))}},Zb:function(a,b){for(var c=0;c<a;++c){var e=G[b+4*c>>2],f=dd[e];f&&(X.deleteFramebuffer(f),f.name=0,dd[e]=null)}},ma:function(a){if(a){var b=cd[a];b?(X.deleteProgram(b),
b.name=0,cd[a]=null):W(1281)}},_b:function(a,b){for(var c=0;c<a;c++){var e=G[b+4*c>>2],f=ed[e];f&&(X.deleteRenderbuffer(f),f.name=0,ed[e]=null)}},Ib:function(a,b){for(var c=0;c<a;c++){var e=G[b+4*c>>2],f=hd[e];f&&(X.deleteSampler(f),f.name=0,hd[e]=null)}},na:function(a){if(a){var b=fd[a];b?(X.deleteShader(b),fd[a]=null):W(1281)}},Qb:function(a){if(a){var b=jd[a];b?(X.deleteSync(b),b.name=0,jd[a]=null):W(1281)}},oa:function(a,b){for(var c=0;c<a;c++){var e=G[b+4*c>>2],f=fa[e];f&&(X.deleteTexture(f),
f.name=0,fa[e]=null)}},qc:function(a,b){for(var c=0;c<a;c++){var e=G[b+4*c>>2];X.deleteVertexArray(gd[e]);gd[e]=null}},tc:function(a,b){for(var c=0;c<a;c++){var e=G[b+4*c>>2];X.deleteVertexArray(gd[e]);gd[e]=null}},pa:function(a){X.depthMask(!!a)},qa:function(a){X.disable(a)},ra:function(a){X.disableVertexAttribArray(a)},sa:function(a,b,c){X.drawArrays(a,b,c)},nc:function(a,b,c,e){X.drawArraysInstanced(a,b,c,e)},lc:function(a,b,c,e,f){X.Ie.drawArraysInstancedBaseInstanceWEBGL(a,b,c,e,f)},jc:function(a,
b){for(var c=rd[a],e=0;e<a;e++)c[e]=G[b+4*e>>2];X.drawBuffers(c)},ta:function(a,b,c,e){X.drawElements(a,b,c,e)},oc:function(a,b,c,e,f){X.drawElementsInstanced(a,b,c,e,f)},mc:function(a,b,c,e,f,k,l){X.Ie.drawElementsInstancedBaseVertexBaseInstanceWEBGL(a,b,c,e,f,k,l)},dc:function(a,b,c,e,f,k){X.drawElements(a,e,f,k)},ua:function(a){X.enable(a)},va:function(a){X.enableVertexAttribArray(a)},Nb:function(a,b){return(a=X.fenceSync(a,b))?(b=ea(jd),a.name=b,jd[b]=a,b):0},wa:function(){X.finish()},xa:function(){X.flush()},
$b:function(a,b,c,e){X.framebufferRenderbuffer(a,b,c,ed[e])},ac:function(a,b,c,e,f){X.framebufferTexture2D(a,b,c,fa[e],f)},ya:function(a){X.frontFace(a)},za:function(a,b){sd(a,b,"createBuffer",bd)},bc:function(a,b){sd(a,b,"createFramebuffer",dd)},cc:function(a,b){sd(a,b,"createRenderbuffer",ed)},Jb:function(a,b){sd(a,b,"createSampler",hd)},Aa:function(a,b){sd(a,b,"createTexture",fa)},rc:function(a,b){sd(a,b,"createVertexArray",gd)},uc:function(a,b){sd(a,b,"createVertexArray",gd)},Tb:function(a){X.generateMipmap(a)},
Ba:function(a,b,c){c?G[c>>2]=X.getBufferParameter(a,b):W(1281)},Ca:function(){var a=X.getError()||nd;nd=0;return a},Da:function(a,b){td(a,b,2)},Ub:function(a,b,c,e){a=X.getFramebufferAttachmentParameter(a,b,c);if(a instanceof WebGLRenderbuffer||a instanceof WebGLTexture)a=a.name|0;G[e>>2]=a},O:function(a,b){td(a,b,0)},Ea:function(a,b,c,e){a=X.getProgramInfoLog(cd[a]);null===a&&(a="(unknown error)");b=0<b&&e?la(a,B,e,b):0;c&&(G[c>>2]=b)},Fa:function(a,b,c){if(c)if(a>=ad)W(1281);else if(a=cd[a],35716==
b)a=X.getProgramInfoLog(a),null===a&&(a="(unknown error)"),G[c>>2]=a.length+1;else if(35719==b){if(!a.ve)for(b=0;b<X.getProgramParameter(a,35718);++b)a.ve=Math.max(a.ve,X.getActiveUniform(a,b).name.length+1);G[c>>2]=a.ve}else if(35722==b){if(!a.te)for(b=0;b<X.getProgramParameter(a,35721);++b)a.te=Math.max(a.te,X.getActiveAttrib(a,b).name.length+1);G[c>>2]=a.te}else if(35381==b){if(!a.ue)for(b=0;b<X.getProgramParameter(a,35382);++b)a.ue=Math.max(a.ue,X.getActiveUniformBlockName(a,b).length+1);G[c>>
2]=a.ue}else G[c>>2]=X.getProgramParameter(a,b);else W(1281)},Vb:function(a,b,c){c?G[c>>2]=X.getRenderbufferParameter(a,b):W(1281)},Ga:function(a,b,c,e){a=X.getShaderInfoLog(fd[a]);null===a&&(a="(unknown error)");b=0<b&&e?la(a,B,e,b):0;c&&(G[c>>2]=b)},Eb:function(a,b,c,e){a=X.getShaderPrecisionFormat(a,b);G[c>>2]=a.rangeMin;G[c+4>>2]=a.rangeMax;G[e>>2]=a.precision},Ha:function(a,b,c){c?35716==b?(a=X.getShaderInfoLog(fd[a]),null===a&&(a="(unknown error)"),G[c>>2]=a?a.length+1:0):35720==b?(a=X.getShaderSource(fd[a]),
G[c>>2]=a?a.length+1:0):G[c>>2]=X.getShaderParameter(fd[a],b):W(1281)},T:function(a){var b=kd[a];if(!b){switch(a){case 7939:b=X.getSupportedExtensions()||[];b=b.concat(b.map(function(e){return"GL_"+e}));b=ud(b.join(" "));break;case 7936:case 7937:case 37445:case 37446:(b=X.getParameter(a))||W(1280);b=b&&ud(b);break;case 7938:b=X.getParameter(7938);b=2<=t.version?"OpenGL ES 3.0 ("+b+")":"OpenGL ES 2.0 ("+b+")";b=ud(b);break;case 35724:b=X.getParameter(35724);var c=b.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);
null!==c&&(3==c[1].length&&(c[1]+="0"),b="OpenGL ES GLSL ES "+c[1]+" ("+b+")");b=ud(b);break;default:W(1280)}kd[a]=b}return b},cb:function(a,b){if(2>t.version)return W(1282),0;var c=ld[a];if(c)return 0>b||b>=c.length?(W(1281),0):c[b];switch(a){case 7939:return c=X.getSupportedExtensions()||[],c=c.concat(c.map(function(e){return"GL_"+e})),c=c.map(function(e){return ud(e)}),c=ld[a]=c,0>b||b>=c.length?(W(1281),0):c[b];default:return W(1280),0}},Ia:function(a,b){b=Pa(b);if(a=cd[a]){var c=a,e=c.ne,f=c.Pe,
k;if(!e)for(c.ne=e={},c.Oe={},k=0;k<X.getProgramParameter(c,35718);++k){var l=X.getActiveUniform(c,k);var n=l.name;l=l.size;var q=wd(n);q=0<q?n.slice(0,q):n;var x=c.Ge;c.Ge+=l;f[q]=[l,x];for(n=0;n<l;++n)e[x]=n,c.Oe[x++]=q}c=a.ne;e=0;f=b;k=wd(b);0<k&&(e=parseInt(b.slice(k+1))>>>0,f=b.slice(0,k));if((f=a.Pe[f])&&e<f[0]&&(e+=f[1],c[e]=c[e]||X.getUniformLocation(a,b)))return e}else W(1281);return-1},Fb:function(a,b,c){for(var e=rd[b],f=0;f<b;f++)e[f]=G[c+4*f>>2];X.invalidateFramebuffer(a,e)},Gb:function(a,
b,c,e,f,k,l){for(var n=rd[b],q=0;q<b;q++)n[q]=G[c+4*q>>2];X.invalidateSubFramebuffer(a,n,e,f,k,l)},Ob:function(a){return X.isSync(jd[a])},Ja:function(a){return(a=fa[a])?X.isTexture(a):0},Ka:function(a){X.lineWidth(a)},La:function(a){a=cd[a];X.linkProgram(a);a.ne=0;a.Pe={}},hc:function(a,b,c,e,f,k){X.Me.multiDrawArraysInstancedBaseInstanceWEBGL(a,G,b>>2,G,c>>2,G,e>>2,J,f>>2,k)},ic:function(a,b,c,e,f,k,l,n){X.Me.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(a,G,b>>2,c,G,e>>2,G,f>>2,G,k>>2,J,
l>>2,n)},Ma:function(a,b){3317==a&&(md=b);X.pixelStorei(a,b)},kc:function(a){X.readBuffer(a)},Na:function(a,b,c,e,f,k,l){if(2<=t.version)if(X.Be)X.readPixels(a,b,c,e,f,k,l);else{var n=xd(k);X.readPixels(a,b,c,e,f,k,n,l>>31-Math.clz32(n.BYTES_PER_ELEMENT))}else(l=yd(k,f,c,e,l))?X.readPixels(a,b,c,e,f,k,l):W(1280)},Wb:function(a,b,c,e){X.renderbufferStorage(a,b,c,e)},Sb:function(a,b,c,e,f){X.renderbufferStorageMultisample(a,b,c,e,f)},Kb:function(a,b,c){X.samplerParameterf(hd[a],b,c)},Lb:function(a,
b,c){X.samplerParameteri(hd[a],b,c)},Mb:function(a,b,c){X.samplerParameteri(hd[a],b,G[c>>2])},Oa:function(a,b,c,e){X.scissor(a,b,c,e)},Pa:function(a,b,c,e){for(var f="",k=0;k<b;++k){var l=e?G[e+4*k>>2]:-1;f+=Pa(G[c+4*k>>2],0>l?void 0:l)}X.shaderSource(fd[a],f)},Qa:function(a,b,c){X.stencilFunc(a,b,c)},Ra:function(a,b,c,e){X.stencilFuncSeparate(a,b,c,e)},Sa:function(a){X.stencilMask(a)},Ta:function(a,b){X.stencilMaskSeparate(a,b)},Ua:function(a,b,c){X.stencilOp(a,b,c)},Va:function(a,b,c,e){X.stencilOpSeparate(a,
b,c,e)},Wa:function(a,b,c,e,f,k,l,n,q){if(2<=t.version)if(X.ee)X.texImage2D(a,b,c,e,f,k,l,n,q);else if(q){var x=xd(n);X.texImage2D(a,b,c,e,f,k,l,n,x,q>>31-Math.clz32(x.BYTES_PER_ELEMENT))}else X.texImage2D(a,b,c,e,f,k,l,n,null);else X.texImage2D(a,b,c,e,f,k,l,n,q?yd(n,l,e,f,q):null)},Xa:function(a,b,c){X.texParameterf(a,b,c)},Ya:function(a,b,c){X.texParameterf(a,b,N[c>>2])},Za:function(a,b,c){X.texParameteri(a,b,c)},_a:function(a,b,c){X.texParameteri(a,b,G[c>>2])},ec:function(a,b,c,e,f){X.texStorage2D(a,
b,c,e,f)},$a:function(a,b,c,e,f,k,l,n,q){if(2<=t.version)if(X.ee)X.texSubImage2D(a,b,c,e,f,k,l,n,q);else if(q){var x=xd(n);X.texSubImage2D(a,b,c,e,f,k,l,n,x,q>>31-Math.clz32(x.BYTES_PER_ELEMENT))}else X.texSubImage2D(a,b,c,e,f,k,l,n,null);else x=null,q&&(x=yd(n,l,f,k,q)),X.texSubImage2D(a,b,c,e,f,k,l,n,x)},ab:function(a,b){X.uniform1f(Y(a),b)},bb:function(a,b,c){if(2<=t.version)X.uniform1fv(Y(a),N,c>>2,b);else{if(288>=b)for(var e=zd[b-1],f=0;f<b;++f)e[f]=N[c+4*f>>2];else e=N.subarray(c>>2,c+4*b>>
2);X.uniform1fv(Y(a),e)}},Pc:function(a,b){X.uniform1i(Y(a),b)},Qc:function(a,b,c){if(2<=t.version)X.uniform1iv(Y(a),G,c>>2,b);else{if(288>=b)for(var e=Ad[b-1],f=0;f<b;++f)e[f]=G[c+4*f>>2];else e=G.subarray(c>>2,c+4*b>>2);X.uniform1iv(Y(a),e)}},Rc:function(a,b,c){X.uniform2f(Y(a),b,c)},Sc:function(a,b,c){if(2<=t.version)X.uniform2fv(Y(a),N,c>>2,2*b);else{if(144>=b)for(var e=zd[2*b-1],f=0;f<2*b;f+=2)e[f]=N[c+4*f>>2],e[f+1]=N[c+(4*f+4)>>2];else e=N.subarray(c>>2,c+8*b>>2);X.uniform2fv(Y(a),e)}},Oc:function(a,
b,c){X.uniform2i(Y(a),b,c)},Nc:function(a,b,c){if(2<=t.version)X.uniform2iv(Y(a),G,c>>2,2*b);else{if(144>=b)for(var e=Ad[2*b-1],f=0;f<2*b;f+=2)e[f]=G[c+4*f>>2],e[f+1]=G[c+(4*f+4)>>2];else e=G.subarray(c>>2,c+8*b>>2);X.uniform2iv(Y(a),e)}},Mc:function(a,b,c,e){X.uniform3f(Y(a),b,c,e)},Lc:function(a,b,c){if(2<=t.version)X.uniform3fv(Y(a),N,c>>2,3*b);else{if(96>=b)for(var e=zd[3*b-1],f=0;f<3*b;f+=3)e[f]=N[c+4*f>>2],e[f+1]=N[c+(4*f+4)>>2],e[f+2]=N[c+(4*f+8)>>2];else e=N.subarray(c>>2,c+12*b>>2);X.uniform3fv(Y(a),
e)}},Kc:function(a,b,c,e){X.uniform3i(Y(a),b,c,e)},Jc:function(a,b,c){if(2<=t.version)X.uniform3iv(Y(a),G,c>>2,3*b);else{if(96>=b)for(var e=Ad[3*b-1],f=0;f<3*b;f+=3)e[f]=G[c+4*f>>2],e[f+1]=G[c+(4*f+4)>>2],e[f+2]=G[c+(4*f+8)>>2];else e=G.subarray(c>>2,c+12*b>>2);X.uniform3iv(Y(a),e)}},Ic:function(a,b,c,e,f){X.uniform4f(Y(a),b,c,e,f)},Hc:function(a,b,c){if(2<=t.version)X.uniform4fv(Y(a),N,c>>2,4*b);else{if(72>=b){var e=zd[4*b-1],f=N;c>>=2;for(var k=0;k<4*b;k+=4){var l=c+k;e[k]=f[l];e[k+1]=f[l+1];e[k+
2]=f[l+2];e[k+3]=f[l+3]}}else e=N.subarray(c>>2,c+16*b>>2);X.uniform4fv(Y(a),e)}},vc:function(a,b,c,e,f){X.uniform4i(Y(a),b,c,e,f)},wc:function(a,b,c){if(2<=t.version)X.uniform4iv(Y(a),G,c>>2,4*b);else{if(72>=b)for(var e=Ad[4*b-1],f=0;f<4*b;f+=4)e[f]=G[c+4*f>>2],e[f+1]=G[c+(4*f+4)>>2],e[f+2]=G[c+(4*f+8)>>2],e[f+3]=G[c+(4*f+12)>>2];else e=G.subarray(c>>2,c+16*b>>2);X.uniform4iv(Y(a),e)}},xc:function(a,b,c,e){if(2<=t.version)X.uniformMatrix2fv(Y(a),!!c,N,e>>2,4*b);else{if(72>=b)for(var f=zd[4*b-1],
k=0;k<4*b;k+=4)f[k]=N[e+4*k>>2],f[k+1]=N[e+(4*k+4)>>2],f[k+2]=N[e+(4*k+8)>>2],f[k+3]=N[e+(4*k+12)>>2];else f=N.subarray(e>>2,e+16*b>>2);X.uniformMatrix2fv(Y(a),!!c,f)}},yc:function(a,b,c,e){if(2<=t.version)X.uniformMatrix3fv(Y(a),!!c,N,e>>2,9*b);else{if(32>=b)for(var f=zd[9*b-1],k=0;k<9*b;k+=9)f[k]=N[e+4*k>>2],f[k+1]=N[e+(4*k+4)>>2],f[k+2]=N[e+(4*k+8)>>2],f[k+3]=N[e+(4*k+12)>>2],f[k+4]=N[e+(4*k+16)>>2],f[k+5]=N[e+(4*k+20)>>2],f[k+6]=N[e+(4*k+24)>>2],f[k+7]=N[e+(4*k+28)>>2],f[k+8]=N[e+(4*k+32)>>2];
else f=N.subarray(e>>2,e+36*b>>2);X.uniformMatrix3fv(Y(a),!!c,f)}},zc:function(a,b,c,e){if(2<=t.version)X.uniformMatrix4fv(Y(a),!!c,N,e>>2,16*b);else{if(18>=b){var f=zd[16*b-1],k=N;e>>=2;for(var l=0;l<16*b;l+=16){var n=e+l;f[l]=k[n];f[l+1]=k[n+1];f[l+2]=k[n+2];f[l+3]=k[n+3];f[l+4]=k[n+4];f[l+5]=k[n+5];f[l+6]=k[n+6];f[l+7]=k[n+7];f[l+8]=k[n+8];f[l+9]=k[n+9];f[l+10]=k[n+10];f[l+11]=k[n+11];f[l+12]=k[n+12];f[l+13]=k[n+13];f[l+14]=k[n+14];f[l+15]=k[n+15]}}else f=N.subarray(e>>2,e+64*b>>2);X.uniformMatrix4fv(Y(a),
!!c,f)}},Ac:function(a){a=cd[a];X.useProgram(a);X.Ye=a},Bc:function(a,b){X.vertexAttrib1f(a,b)},Cc:function(a,b){X.vertexAttrib2f(a,N[b>>2],N[b+4>>2])},Dc:function(a,b){X.vertexAttrib3f(a,N[b>>2],N[b+4>>2],N[b+8>>2])},Ec:function(a,b){X.vertexAttrib4f(a,N[b>>2],N[b+4>>2],N[b+8>>2],N[b+12>>2])},fc:function(a,b){X.vertexAttribDivisor(a,b)},gc:function(a,b,c,e,f){X.vertexAttribIPointer(a,b,c,e,f)},Fc:function(a,b,c,e,f,k){X.vertexAttribPointer(a,b,c,!!e,f,k)},Gc:function(a,b,c,e){X.viewport(a,b,c,e)},
eb:function(a,b,c,e){X.waitSync(jd[a],b,(c>>>0)+4294967296*e)},nb:function(a){var b=B.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var e=b*(1+.2/c);e=Math.min(e,a+100663296);e=Math.max(a,e);0<e%65536&&(e+=65536-e%65536);a:{try{Ka.grow(Math.min(2147483648,e)-$a.byteLength+65535>>>16);cb();var f=1;break a}catch(k){}f=void 0}if(f)return!0}return!1},gb:function(){return t?t.kf:0},qb:function(a,b){var c=0;Cd().forEach(function(e,f){var k=b+c;f=G[a+4*f>>2]=k;for(k=0;k<e.length;++k)ab[f++>>
0]=e.charCodeAt(k);ab[f>>0]=0;c+=e.length+1});return 0},rb:function(a,b){var c=Cd();G[a>>2]=c.length;var e=0;c.forEach(function(f){e+=f.length+1});G[b>>2]=e;return 0},Bb:function(a){if(!(noExitRuntime||0<Da)){if(r.onExit)r.onExit(a);La=!0}oa(a,new Ea(a))},Q:function(){return 0},hb:function(a,b,c,e,f,k){a=wb.ff(a);b=wb.$e(a,b,c,e);G[k>>2]=b;return 0},wb:function(a,b,c,e){a=wb.ff(a);b=wb.$e(a,b,c);G[e>>2]=b;return 0},ib:function(){},V:function(a,b,c,e){for(var f=0,k=0;k<c;k++){var l=G[b>>2],n=G[b+4>>
2];b+=8;for(var q=0;q<n;q++){var x=B[l+q],y=vb[a];0===x||10===x?((1===a?Ga:Fa)(Oa(y,0)),y.length=0):y.push(x)}f+=n}G[e>>2]=f;return 0},b:function(){return Ha},q:Sd,o:Td,m:Ud,S:Vd,aa:Wd,$:Xd,z:Yd,y:Zd,t:$d,x:ae,ba:be,Cb:ce,Db:de,c:function(a){Ha=a},kb:function(a,b,c,e){return Jd(a,b,c,e)}};
(function(){function a(f){r.asm=f.exports;Ka=r.asm.cd;cb();db=r.asm.ed;fb.unshift(r.asm.dd);jb--;r.monitorRunDependencies&&r.monitorRunDependencies(jb);0==jb&&(null!==kb&&(clearInterval(kb),kb=null),lb&&(f=lb,lb=null,f()))}function b(f){a(f.instance)}function c(f){return qb().then(function(k){return WebAssembly.instantiate(k,e)}).then(function(k){return k}).then(f,function(k){Fa("failed to asynchronously prepare wasm: "+k);Ja(k)})}var e={a:ee};jb++;r.monitorRunDependencies&&r.monitorRunDependencies(jb);
if(r.instantiateWasm)try{return r.instantiateWasm(e,a)}catch(f){return Fa("Module.instantiateWasm callback failed with error: "+f),!1}(function(){return Ia||"function"!==typeof WebAssembly.instantiateStreaming||mb()||nb.startsWith("file://")||"function"!==typeof fetch?c(b):fetch(nb,{credentials:"same-origin"}).then(function(f){return WebAssembly.instantiateStreaming(f,e).then(b,function(k){Fa("wasm streaming compile failed: "+k);Fa("falling back to ArrayBuffer instantiation");return c(b)})})})().catch(ca);
return{}})();r.___wasm_call_ctors=function(){return(r.___wasm_call_ctors=r.asm.dd).apply(null,arguments)};var Rd=r.___errno_location=function(){return(Rd=r.___errno_location=r.asm.fd).apply(null,arguments)},Cc=r._free=function(){return(Cc=r._free=r.asm.gd).apply(null,arguments)},vd=r._malloc=function(){return(vd=r._malloc=r.asm.hd).apply(null,arguments)},Bc=r.___getTypeName=function(){return(Bc=r.___getTypeName=r.asm.id).apply(null,arguments)};
r.___embind_register_native_and_builtin_types=function(){return(r.___embind_register_native_and_builtin_types=r.asm.jd).apply(null,arguments)};var Qd=r._memalign=function(){return(Qd=r._memalign=r.asm.kd).apply(null,arguments)},fe=r._setThrew=function(){return(fe=r._setThrew=r.asm.ld).apply(null,arguments)},ge=r.stackSave=function(){return(ge=r.stackSave=r.asm.md).apply(null,arguments)},he=r.stackRestore=function(){return(he=r.stackRestore=r.asm.nd).apply(null,arguments)};
r.dynCall_viji=function(){return(r.dynCall_viji=r.asm.od).apply(null,arguments)};r.dynCall_vijiii=function(){return(r.dynCall_vijiii=r.asm.pd).apply(null,arguments)};r.dynCall_viiiiij=function(){return(r.dynCall_viiiiij=r.asm.qd).apply(null,arguments)};r.dynCall_iiiji=function(){return(r.dynCall_iiiji=r.asm.rd).apply(null,arguments)};r.dynCall_jii=function(){return(r.dynCall_jii=r.asm.sd).apply(null,arguments)};r.dynCall_vij=function(){return(r.dynCall_vij=r.asm.td).apply(null,arguments)};
r.dynCall_iiij=function(){return(r.dynCall_iiij=r.asm.ud).apply(null,arguments)};r.dynCall_iiiij=function(){return(r.dynCall_iiiij=r.asm.vd).apply(null,arguments)};r.dynCall_viij=function(){return(r.dynCall_viij=r.asm.wd).apply(null,arguments)};r.dynCall_viiij=function(){return(r.dynCall_viiij=r.asm.xd).apply(null,arguments)};r.dynCall_ji=function(){return(r.dynCall_ji=r.asm.yd).apply(null,arguments)};r.dynCall_iij=function(){return(r.dynCall_iij=r.asm.zd).apply(null,arguments)};
r.dynCall_jiiii=function(){return(r.dynCall_jiiii=r.asm.Ad).apply(null,arguments)};r.dynCall_jiiiiii=function(){return(r.dynCall_jiiiiii=r.asm.Bd).apply(null,arguments)};r.dynCall_jiiiiji=function(){return(r.dynCall_jiiiiji=r.asm.Cd).apply(null,arguments)};r.dynCall_iijj=function(){return(r.dynCall_iijj=r.asm.Dd).apply(null,arguments)};r.dynCall_iiji=function(){return(r.dynCall_iiji=r.asm.Ed).apply(null,arguments)};r.dynCall_iijjiii=function(){return(r.dynCall_iijjiii=r.asm.Fd).apply(null,arguments)};
r.dynCall_vijjjii=function(){return(r.dynCall_vijjjii=r.asm.Gd).apply(null,arguments)};r.dynCall_jiji=function(){return(r.dynCall_jiji=r.asm.Hd).apply(null,arguments)};r.dynCall_viijii=function(){return(r.dynCall_viijii=r.asm.Id).apply(null,arguments)};r.dynCall_iiiiij=function(){return(r.dynCall_iiiiij=r.asm.Jd).apply(null,arguments)};r.dynCall_iiiiijj=function(){return(r.dynCall_iiiiijj=r.asm.Kd).apply(null,arguments)};
r.dynCall_iiiiiijj=function(){return(r.dynCall_iiiiiijj=r.asm.Ld).apply(null,arguments)};function ae(a,b,c,e,f){var k=ge();try{O(a)(b,c,e,f)}catch(l){he(k);if(l!==l+0&&"longjmp"!==l)throw l;fe(1,0)}}function Td(a,b,c){var e=ge();try{return O(a)(b,c)}catch(f){he(e);if(f!==f+0&&"longjmp"!==f)throw f;fe(1,0)}}function Zd(a,b,c){var e=ge();try{O(a)(b,c)}catch(f){he(e);if(f!==f+0&&"longjmp"!==f)throw f;fe(1,0)}}
function Sd(a,b){var c=ge();try{return O(a)(b)}catch(e){he(c);if(e!==e+0&&"longjmp"!==e)throw e;fe(1,0)}}function Yd(a,b){var c=ge();try{O(a)(b)}catch(e){he(c);if(e!==e+0&&"longjmp"!==e)throw e;fe(1,0)}}function Ud(a,b,c,e){var f=ge();try{return O(a)(b,c,e)}catch(k){he(f);if(k!==k+0&&"longjmp"!==k)throw k;fe(1,0)}}function $d(a,b,c,e){var f=ge();try{O(a)(b,c,e)}catch(k){he(f);if(k!==k+0&&"longjmp"!==k)throw k;fe(1,0)}}
function be(a,b,c,e,f,k){var l=ge();try{O(a)(b,c,e,f,k)}catch(n){he(l);if(n!==n+0&&"longjmp"!==n)throw n;fe(1,0)}}function Wd(a,b,c,e,f,k,l){var n=ge();try{return O(a)(b,c,e,f,k,l)}catch(q){he(n);if(q!==q+0&&"longjmp"!==q)throw q;fe(1,0)}}function Vd(a,b,c,e,f){var k=ge();try{return O(a)(b,c,e,f)}catch(l){he(k);if(l!==l+0&&"longjmp"!==l)throw l;fe(1,0)}}function de(a,b,c,e,f,k,l,n,q,x){var y=ge();try{O(a)(b,c,e,f,k,l,n,q,x)}catch(C){he(y);if(C!==C+0&&"longjmp"!==C)throw C;fe(1,0)}}
function ce(a,b,c,e,f,k,l){var n=ge();try{O(a)(b,c,e,f,k,l)}catch(q){he(n);if(q!==q+0&&"longjmp"!==q)throw q;fe(1,0)}}function Xd(a,b,c,e,f,k,l,n,q,x){var y=ge();try{return O(a)(b,c,e,f,k,l,n,q,x)}catch(C){he(y);if(C!==C+0&&"longjmp"!==C)throw C;fe(1,0)}}var ie;function Ea(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}lb=function je(){ie||ke();ie||(lb=je)};
function ke(){function a(){if(!ie&&(ie=!0,r.calledRun=!0,!La)){rb(fb);ba(r);if(r.onRuntimeInitialized)r.onRuntimeInitialized();if(r.postRun)for("function"==typeof r.postRun&&(r.postRun=[r.postRun]);r.postRun.length;){var b=r.postRun.shift();hb.unshift(b)}rb(hb)}}if(!(0<jb)){if(r.preRun)for("function"==typeof r.preRun&&(r.preRun=[r.preRun]);r.preRun.length;)ib();rb(eb);0<jb||(r.setStatus?(r.setStatus("Running..."),setTimeout(function(){setTimeout(function(){r.setStatus("")},1);a()},1)):a())}}
r.run=ke;if(r.preInit)for("function"==typeof r.preInit&&(r.preInit=[r.preInit]);0<r.preInit.length;)r.preInit.pop()();ke();
return CanvasKitInit.ready
}
);
})();
if (typeof exports === 'object' && typeof module === 'object')
module.exports = CanvasKitInit;
else if (typeof define === 'function' && define['amd'])
define([], function() { return CanvasKitInit; });
else if (typeof exports === 'object')
exports["CanvasKitInit"] = CanvasKitInit;

@ -0,0 +1,223 @@
var CanvasKitInit = (() => {
var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
return (
function(CanvasKitInit) {
CanvasKitInit = CanvasKitInit || {};
null;var r;r||(r=typeof CanvasKitInit !== 'undefined' ? CanvasKitInit : {});var aa=Object.assign,ba,ca;r.ready=new Promise(function(a,b){ba=a;ca=b});
(function(a){a.Md=a.Md||[];a.Md.push(function(){a.MakeSWCanvasSurface=function(b){var c=b;if("CANVAS"!==c.tagName&&(c=document.getElementById(b),!c))throw"Canvas with id "+b+" was not found";if(b=a.MakeSurface(c.width,c.height))b.ke=c;return b};a.MakeCanvasSurface||(a.MakeCanvasSurface=a.MakeSWCanvasSurface);a.MakeSurface=function(b,c){var e={width:b,height:c,colorType:a.ColorType.RGBA_8888,alphaType:a.AlphaType.Unpremul,colorSpace:a.ColorSpace.SRGB},f=b*c*4,k=a._malloc(f);if(e=a.Surface._makeRasterDirect(e,
k,4*b))e.ke=null,e.Qe=b,e.Ne=c,e.Oe=f,e.ue=k,e.getCanvas().clear(a.TRANSPARENT);return e};a.MakeRasterDirectSurface=function(b,c,e){return a.Surface._makeRasterDirect(b,c.byteOffset,e)};a.Surface.prototype.flush=function(b){a.Jd(this.Id);this._flush();if(this.ke){var c=new Uint8ClampedArray(a.HEAPU8.buffer,this.ue,this.Oe);c=new ImageData(c,this.Qe,this.Ne);b?this.ke.getContext("2d").putImageData(c,0,0,b[0],b[1],b[2]-b[0],b[3]-b[1]):this.ke.getContext("2d").putImageData(c,0,0)}};a.Surface.prototype.dispose=
function(){this.ue&&a._free(this.ue);this.delete()};a.Jd=a.Jd||function(){};a.le=a.le||function(){return null}})})(r);
(function(a){a.Md=a.Md||[];a.Md.push(function(){function b(n,q,x){return n&&n.hasOwnProperty(q)?n[q]:x}function c(n){var q=ea(fa);fa[q]=n;return q}function e(n){return n.naturalHeight||n.videoHeight||n.displayHeight||n.height}function f(n){return n.naturalWidth||n.videoWidth||n.displayWidth||n.width}function k(n,q,x,y){n.bindTexture(n.TEXTURE_2D,q);y||x.alphaType!==a.AlphaType.Premul||n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0);return q}function l(n,q,x){x||q.alphaType!==a.AlphaType.Premul||
n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1);n.bindTexture(n.TEXTURE_2D,null)}a.GetWebGLContext=function(n,q){if(!n)throw"null canvas passed into makeWebGLContext";var x={alpha:b(q,"alpha",1),depth:b(q,"depth",1),stencil:b(q,"stencil",8),antialias:b(q,"antialias",0),premultipliedAlpha:b(q,"premultipliedAlpha",1),preserveDrawingBuffer:b(q,"preserveDrawingBuffer",0),preferLowPowerToHighPerformance:b(q,"preferLowPowerToHighPerformance",0),failIfMajorPerformanceCaveat:b(q,"failIfMajorPerformanceCaveat",
0),enableExtensionsByDefault:b(q,"enableExtensionsByDefault",1),explicitSwapControl:b(q,"explicitSwapControl",0),renderViaOffscreenBackBuffer:b(q,"renderViaOffscreenBackBuffer",0)};x.majorVersion=q&&q.majorVersion?q.majorVersion:"undefined"!==typeof WebGL2RenderingContext?2:1;if(x.explicitSwapControl)throw"explicitSwapControl is not supported";n=ha(n,x);if(!n)return 0;ia(n);u.Ud.getExtension("WEBGL_debug_renderer_info");return n};a.deleteContext=function(n){u===ja[n]&&(u=null);"object"===typeof JSEvents&&
JSEvents.If(ja[n].Ud.canvas);ja[n]&&ja[n].Ud.canvas&&(ja[n].Ud.canvas.Le=void 0);ja[n]=null};a._setTextureCleanup({deleteTexture:function(n,q){var x=fa[q];x&&ja[n].Ud.deleteTexture(x);fa[q]=null}});a.MakeWebGLContext=function(n){if(!this.Jd(n))return null;var q=this._MakeGrContext();if(!q)return null;q.Id=n;var x=q.delete.bind(q);q["delete"]=function(){a.Jd(this.Id);x()}.bind(q);return u.xe=q};a.MakeGrContext=a.MakeWebGLContext;a.GrDirectContext.prototype.getResourceCacheLimitBytes=function(){a.Jd(this.Id);
this._getResourceCacheLimitBytes()};a.GrDirectContext.prototype.getResourceCacheUsageBytes=function(){a.Jd(this.Id);this._getResourceCacheUsageBytes()};a.GrDirectContext.prototype.releaseResourcesAndAbandonContext=function(){a.Jd(this.Id);this._releaseResourcesAndAbandonContext()};a.GrDirectContext.prototype.setResourceCacheLimitBytes=function(n){a.Jd(this.Id);this._setResourceCacheLimitBytes(n)};a.MakeOnScreenGLSurface=function(n,q,x,y,C,E){if(!this.Jd(n.Id))return null;q=void 0===C||void 0===E?
this._MakeOnScreenGLSurface(n,q,x,y):this._MakeOnScreenGLSurface(n,q,x,y,C,E);if(!q)return null;q.Id=n.Id;return q};a.MakeRenderTarget=function(){var n=arguments[0];if(!this.Jd(n.Id))return null;if(3===arguments.length){var q=this._MakeRenderTargetWH(n,arguments[1],arguments[2]);if(!q)return null}else if(2===arguments.length){if(q=this._MakeRenderTargetII(n,arguments[1]),!q)return null}else return null;q.Id=n.Id;return q};a.MakeWebGLCanvasSurface=function(n,q,x){q=q||null;var y=n,C="undefined"!==
typeof OffscreenCanvas&&y instanceof OffscreenCanvas;if(!("undefined"!==typeof HTMLCanvasElement&&y instanceof HTMLCanvasElement||C||(y=document.getElementById(n),y)))throw"Canvas with id "+n+" was not found";n=this.GetWebGLContext(y,x);if(!n||0>n)throw"failed to create webgl context: err "+n;n=this.MakeWebGLContext(n);q=this.MakeOnScreenGLSurface(n,y.width,y.height,q);return q?q:(q=y.cloneNode(!0),y.parentNode.replaceChild(q,y),q.classList.add("ck-replaced"),a.MakeSWCanvasSurface(q))};a.MakeCanvasSurface=
a.MakeWebGLCanvasSurface;a.Surface.prototype.makeImageFromTexture=function(n,q){a.Jd(this.Id);n=c(n);if(q=this._makeImageFromTexture(this.Id,n,q))q.ee=n;return q};a.Surface.prototype.makeImageFromTextureSource=function(n,q,x){q||(q={height:e(n),width:f(n),colorType:a.ColorType.RGBA_8888,alphaType:x?a.AlphaType.Premul:a.AlphaType.Unpremul});q.colorSpace||(q.colorSpace=a.ColorSpace.SRGB);a.Jd(this.Id);var y=u.Ud;x=k(y,y.createTexture(),q,x);2===u.version?y.texImage2D(y.TEXTURE_2D,0,y.RGBA,q.width,q.height,
0,y.RGBA,y.UNSIGNED_BYTE,n):y.texImage2D(y.TEXTURE_2D,0,y.RGBA,y.RGBA,y.UNSIGNED_BYTE,n);l(y,q);this._resetContext();return this.makeImageFromTexture(x,q)};a.Surface.prototype.updateTextureFromSource=function(n,q,x){if(n.ee){a.Jd(this.Id);var y=n.getImageInfo(),C=u.Ud,E=k(C,fa[n.ee],y,x);2===u.version?C.texImage2D(C.TEXTURE_2D,0,C.RGBA,f(q),e(q),0,C.RGBA,C.UNSIGNED_BYTE,q):C.texImage2D(C.TEXTURE_2D,0,C.RGBA,C.RGBA,C.UNSIGNED_BYTE,q);l(C,y,x);this._resetContext();fa[n.ee]=null;n.ee=c(E);y.colorSpace=
n.getColorSpace();q=this._makeImageFromTexture(this.Id,n.ee,y);x=n.Hd.Kd;C=n.Hd.Pd;n.Hd.Kd=q.Hd.Kd;n.Hd.Pd=q.Hd.Pd;q.Hd.Kd=x;q.Hd.Pd=C;q.delete();y.colorSpace.delete()}};a.MakeLazyImageFromTextureSource=function(n,q,x){q||(q={height:e(n),width:f(n),colorType:a.ColorType.RGBA_8888,alphaType:x?a.AlphaType.Premul:a.AlphaType.Unpremul});q.colorSpace||(q.colorSpace=a.ColorSpace.SRGB);var y={makeTexture:function(){var C=u,E=C.Ud,v=k(E,E.createTexture(),q,x);2===C.version?E.texImage2D(E.TEXTURE_2D,0,E.RGBA,
q.width,q.height,0,E.RGBA,E.UNSIGNED_BYTE,n):E.texImage2D(E.TEXTURE_2D,0,E.RGBA,E.RGBA,E.UNSIGNED_BYTE,n);l(E,q,x);return c(v)},freeSrc:function(){}};"VideoFrame"===n.constructor.name&&(y.freeSrc=function(){n.close()});return a.Image._makeFromGenerator(q,y)};a.Jd=function(n){return n?ia(n):!1};a.le=function(){return u&&u.xe&&!u.xe.isDeleted()?u.xe:null}})})(r);
(function(a){function b(g){return(f(255*g[3])<<24|f(255*g[0])<<16|f(255*g[1])<<8|f(255*g[2])<<0)>>>0}function c(g){if(g&&g._ck)return g;if(g instanceof Float32Array){for(var d=Math.floor(g.length/4),h=new Uint32Array(d),m=0;m<d;m++)h[m]=b(g.slice(4*m,4*(m+1)));return h}if(g instanceof Uint32Array)return g;if(g instanceof Array&&g[0]instanceof Float32Array)return g.map(b)}function e(g){if(void 0===g)return 1;var d=parseFloat(g);return g&&-1!==g.indexOf("%")?d/100:d}function f(g){return Math.round(Math.max(0,
Math.min(g||0,255)))}function k(g,d){d&&d._ck||a._free(g)}function l(g,d,h){if(!g||!g.length)return M;if(g&&g._ck)return g.byteOffset;var m=a[d].BYTES_PER_ELEMENT;h||(h=a._malloc(g.length*m));a[d].set(g,h/m);return h}function n(g){var d={Rd:M,count:g.length,fe:a.ColorType.RGBA_F32};if(g instanceof Float32Array)d.Rd=l(g,"HEAPF32"),d.count=g.length/4;else if(g instanceof Uint32Array)d.Rd=l(g,"HEAPU32"),d.fe=a.ColorType.RGBA_8888;else if(g instanceof Array){if(g&&g.length){for(var h=a._malloc(16*g.length),
m=0,t=h/4,w=0;w<g.length;w++)for(var z=0;4>z;z++)a.HEAPF32[t+m]=g[w][z],m++;g=h}else g=M;d.Rd=g}else throw"Invalid argument to copyFlexibleColorArray, Not a color array "+typeof g;return d}function q(g){if(!g)return M;var d=R.toTypedArray();if(g.length){if(6===g.length||9===g.length)return l(g,"HEAPF32",I),6===g.length&&a.HEAPF32.set(od,6+I/4),I;if(16===g.length)return d[0]=g[0],d[1]=g[1],d[2]=g[3],d[3]=g[4],d[4]=g[5],d[5]=g[7],d[6]=g[12],d[7]=g[13],d[8]=g[15],I;throw"invalid matrix size";}if(void 0===
g.m11)throw"invalid matrix argument";d[0]=g.m11;d[1]=g.m21;d[2]=g.m41;d[3]=g.m12;d[4]=g.m22;d[5]=g.m42;d[6]=g.m14;d[7]=g.m24;d[8]=g.m44;return I}function x(g){if(!g)return M;var d=da.toTypedArray();if(g.length){if(16!==g.length&&6!==g.length&&9!==g.length)throw"invalid matrix size";if(16===g.length)return l(g,"HEAPF32",Z);d.fill(0);d[0]=g[0];d[1]=g[1];d[3]=g[2];d[4]=g[3];d[5]=g[4];d[7]=g[5];d[10]=1;d[12]=g[6];d[13]=g[7];d[15]=g[8];6===g.length&&(d[12]=0,d[13]=0,d[15]=1);return Z}if(void 0===g.m11)throw"invalid matrix argument";
d[0]=g.m11;d[1]=g.m21;d[2]=g.m31;d[3]=g.m41;d[4]=g.m12;d[5]=g.m22;d[6]=g.m32;d[7]=g.m42;d[8]=g.m13;d[9]=g.m23;d[10]=g.m33;d[11]=g.m43;d[12]=g.m14;d[13]=g.m24;d[14]=g.m34;d[15]=g.m44;return Z}function y(g,d){return l(g,"HEAPF32",d||ua)}function C(g,d,h,m){var t=Ma.toTypedArray();t[0]=g;t[1]=d;t[2]=h;t[3]=m;return ua}function E(g){for(var d=new Float32Array(4),h=0;4>h;h++)d[h]=a.HEAPF32[g/4+h];return d}function v(g,d){return l(g,"HEAPF32",d||V)}function D(g,d){return l(g,"HEAPF32",d||Gb)}a.Color=function(g,
d,h,m){void 0===m&&(m=1);return a.Color4f(f(g)/255,f(d)/255,f(h)/255,m)};a.ColorAsInt=function(g,d,h,m){void 0===m&&(m=255);return(f(m)<<24|f(g)<<16|f(d)<<8|f(h)<<0&268435455)>>>0};a.Color4f=function(g,d,h,m){void 0===m&&(m=1);return Float32Array.of(g,d,h,m)};Object.defineProperty(a,"TRANSPARENT",{get:function(){return a.Color4f(0,0,0,0)}});Object.defineProperty(a,"BLACK",{get:function(){return a.Color4f(0,0,0,1)}});Object.defineProperty(a,"WHITE",{get:function(){return a.Color4f(1,1,1,1)}});Object.defineProperty(a,
"RED",{get:function(){return a.Color4f(1,0,0,1)}});Object.defineProperty(a,"GREEN",{get:function(){return a.Color4f(0,1,0,1)}});Object.defineProperty(a,"BLUE",{get:function(){return a.Color4f(0,0,1,1)}});Object.defineProperty(a,"YELLOW",{get:function(){return a.Color4f(1,1,0,1)}});Object.defineProperty(a,"CYAN",{get:function(){return a.Color4f(0,1,1,1)}});Object.defineProperty(a,"MAGENTA",{get:function(){return a.Color4f(1,0,1,1)}});a.getColorComponents=function(g){return[Math.floor(255*g[0]),Math.floor(255*
g[1]),Math.floor(255*g[2]),g[3]]};a.parseColorString=function(g,d){g=g.toLowerCase();if(g.startsWith("#")){d=255;switch(g.length){case 9:d=parseInt(g.slice(7,9),16);case 7:var h=parseInt(g.slice(1,3),16);var m=parseInt(g.slice(3,5),16);var t=parseInt(g.slice(5,7),16);break;case 5:d=17*parseInt(g.slice(4,5),16);case 4:h=17*parseInt(g.slice(1,2),16),m=17*parseInt(g.slice(2,3),16),t=17*parseInt(g.slice(3,4),16)}return a.Color(h,m,t,d/255)}return g.startsWith("rgba")?(g=g.slice(5,-1),g=g.split(","),a.Color(+g[0],
+g[1],+g[2],e(g[3]))):g.startsWith("rgb")?(g=g.slice(4,-1),g=g.split(","),a.Color(+g[0],+g[1],+g[2],e(g[3]))):g.startsWith("gray(")||g.startsWith("hsl")||!d||(g=d[g],void 0===g)?a.BLACK:g};a.multiplyByAlpha=function(g,d){g=g.slice();g[3]=Math.max(0,Math.min(g[3]*d,1));return g};a.Malloc=function(g,d){var h=a._malloc(d*g.BYTES_PER_ELEMENT);return{_ck:!0,length:d,byteOffset:h,Yd:null,subarray:function(m,t){m=this.toTypedArray().subarray(m,t);m._ck=!0;return m},toTypedArray:function(){if(this.Yd&&this.Yd.length)return this.Yd;
this.Yd=new g(a.HEAPU8.buffer,h,d);this.Yd._ck=!0;return this.Yd}}};a.Free=function(g){a._free(g.byteOffset);g.byteOffset=M;g.toTypedArray=null;g.Yd=null};var I=M,R,Z=M,da,ua=M,Ma,va,V=M,pc,Ba=M,qc,Hb=M,rc,Ib=M,Jb,gb=M,sc,Gb=M,tc,uc=M,od=Float32Array.of(0,0,1),M=0;a.onRuntimeInitialized=function(){function g(d,h,m,t,w,z,F){z||(z=4*t.width,t.colorType===a.ColorType.RGBA_F16?z*=2:t.colorType===a.ColorType.RGBA_F32&&(z*=4));var K=z*t.height;var H=w?w.byteOffset:a._malloc(K);if(F?!d._readPixels(t,H,z,
h,m,F):!d._readPixels(t,H,z,h,m))return w||a._free(H),null;if(w)return w.toTypedArray();switch(t.colorType){case a.ColorType.RGBA_8888:case a.ColorType.RGBA_F16:d=(new Uint8Array(a.HEAPU8.buffer,H,K)).slice();break;case a.ColorType.RGBA_F32:d=(new Float32Array(a.HEAPU8.buffer,H,K)).slice();break;default:return null}a._free(H);return d}Ma=a.Malloc(Float32Array,4);ua=Ma.byteOffset;da=a.Malloc(Float32Array,16);Z=da.byteOffset;R=a.Malloc(Float32Array,9);I=R.byteOffset;sc=a.Malloc(Float32Array,12);Gb=
sc.byteOffset;tc=a.Malloc(Float32Array,12);uc=tc.byteOffset;va=a.Malloc(Float32Array,4);V=va.byteOffset;pc=a.Malloc(Float32Array,4);Ba=pc.byteOffset;qc=a.Malloc(Float32Array,3);Hb=qc.byteOffset;rc=a.Malloc(Float32Array,3);Ib=rc.byteOffset;Jb=a.Malloc(Int32Array,4);gb=Jb.byteOffset;a.ColorSpace.SRGB=a.ColorSpace._MakeSRGB();a.ColorSpace.DISPLAY_P3=a.ColorSpace._MakeDisplayP3();a.ColorSpace.ADOBE_RGB=a.ColorSpace._MakeAdobeRGB();a.GlyphRunFlags={IsWhiteSpace:a._GlyphRunFlags_isWhiteSpace};a.Path.MakeFromCmds=
function(d){var h=l(d,"HEAPF32"),m=a.Path._MakeFromCmds(h,d.length);k(h,d);return m};a.Path.MakeFromVerbsPointsWeights=function(d,h,m){var t=l(d,"HEAPU8"),w=l(h,"HEAPF32"),z=l(m,"HEAPF32"),F=a.Path._MakeFromVerbsPointsWeights(t,d.length,w,h.length,z,m&&m.length||0);k(t,d);k(w,h);k(z,m);return F};a.Path.prototype.addArc=function(d,h,m){d=v(d);this._addArc(d,h,m);return this};a.Path.prototype.addCircle=function(d,h,m,t){this._addCircle(d,h,m,!!t);return this};a.Path.prototype.addOval=function(d,h,m){void 0===
m&&(m=1);d=v(d);this._addOval(d,!!h,m);return this};a.Path.prototype.addPath=function(){var d=Array.prototype.slice.call(arguments),h=d[0],m=!1;"boolean"===typeof d[d.length-1]&&(m=d.pop());if(1===d.length)this._addPath(h,1,0,0,0,1,0,0,0,1,m);else if(2===d.length)d=d[1],this._addPath(h,d[0],d[1],d[2],d[3],d[4],d[5],d[6]||0,d[7]||0,d[8]||1,m);else if(7===d.length||10===d.length)this._addPath(h,d[1],d[2],d[3],d[4],d[5],d[6],d[7]||0,d[8]||0,d[9]||1,m);else return null;return this};a.Path.prototype.addPoly=
function(d,h){var m=l(d,"HEAPF32");this._addPoly(m,d.length/2,h);k(m,d);return this};a.Path.prototype.addRect=function(d,h){d=v(d);this._addRect(d,!!h);return this};a.Path.prototype.addRRect=function(d,h){d=D(d);this._addRRect(d,!!h);return this};a.Path.prototype.addVerbsPointsWeights=function(d,h,m){var t=l(d,"HEAPU8"),w=l(h,"HEAPF32"),z=l(m,"HEAPF32");this._addVerbsPointsWeights(t,d.length,w,h.length,z,m&&m.length||0);k(t,d);k(w,h);k(z,m)};a.Path.prototype.arc=function(d,h,m,t,w,z){d=a.LTRBRect(d-
m,h-m,d+m,h+m);w=(w-t)/Math.PI*180-360*!!z;z=new a.Path;z.addArc(d,t/Math.PI*180,w);this.addPath(z,!0);z.delete();return this};a.Path.prototype.arcToOval=function(d,h,m,t){d=v(d);this._arcToOval(d,h,m,t);return this};a.Path.prototype.arcToRotated=function(d,h,m,t,w,z,F){this._arcToRotated(d,h,m,!!t,!!w,z,F);return this};a.Path.prototype.arcToTangent=function(d,h,m,t,w){this._arcToTangent(d,h,m,t,w);return this};a.Path.prototype.close=function(){this._close();return this};a.Path.prototype.conicTo=
function(d,h,m,t,w){this._conicTo(d,h,m,t,w);return this};a.Path.prototype.computeTightBounds=function(d){this._computeTightBounds(V);var h=va.toTypedArray();return d?(d.set(h),d):h.slice()};a.Path.prototype.cubicTo=function(d,h,m,t,w,z){this._cubicTo(d,h,m,t,w,z);return this};a.Path.prototype.dash=function(d,h,m){return this._dash(d,h,m)?this:null};a.Path.prototype.getBounds=function(d){this._getBounds(V);var h=va.toTypedArray();return d?(d.set(h),d):h.slice()};a.Path.prototype.lineTo=function(d,
h){this._lineTo(d,h);return this};a.Path.prototype.moveTo=function(d,h){this._moveTo(d,h);return this};a.Path.prototype.offset=function(d,h){this._transform(1,0,d,0,1,h,0,0,1);return this};a.Path.prototype.quadTo=function(d,h,m,t){this._quadTo(d,h,m,t);return this};a.Path.prototype.rArcTo=function(d,h,m,t,w,z,F){this._rArcTo(d,h,m,t,w,z,F);return this};a.Path.prototype.rConicTo=function(d,h,m,t,w){this._rConicTo(d,h,m,t,w);return this};a.Path.prototype.rCubicTo=function(d,h,m,t,w,z){this._rCubicTo(d,
h,m,t,w,z);return this};a.Path.prototype.rLineTo=function(d,h){this._rLineTo(d,h);return this};a.Path.prototype.rMoveTo=function(d,h){this._rMoveTo(d,h);return this};a.Path.prototype.rQuadTo=function(d,h,m,t){this._rQuadTo(d,h,m,t);return this};a.Path.prototype.stroke=function(d){d=d||{};d.width=d.width||1;d.miter_limit=d.miter_limit||4;d.cap=d.cap||a.StrokeCap.Butt;d.join=d.join||a.StrokeJoin.Miter;d.precision=d.precision||1;return this._stroke(d)?this:null};a.Path.prototype.transform=function(){if(1===
arguments.length){var d=arguments[0];this._transform(d[0],d[1],d[2],d[3],d[4],d[5],d[6]||0,d[7]||0,d[8]||1)}else if(6===arguments.length||9===arguments.length)d=arguments,this._transform(d[0],d[1],d[2],d[3],d[4],d[5],d[6]||0,d[7]||0,d[8]||1);else throw"transform expected to take 1 or 9 arguments. Got "+arguments.length;return this};a.Path.prototype.trim=function(d,h,m){return this._trim(d,h,!!m)?this:null};a.Image.prototype.encodeToBytes=function(d,h){var m=a.le();d=d||a.ImageFormat.PNG;h=h||100;
return m?this._encodeToBytes(d,h,m):this._encodeToBytes(d,h)};a.Image.prototype.makeShaderCubic=function(d,h,m,t,w){w=q(w);return this._makeShaderCubic(d,h,m,t,w)};a.Image.prototype.makeShaderOptions=function(d,h,m,t,w){w=q(w);return this._makeShaderOptions(d,h,m,t,w)};a.Image.prototype.readPixels=function(d,h,m,t,w){var z=a.le();return g(this,d,h,m,t,w,z)};a.Canvas.prototype.clear=function(d){a.Jd(this.Id);d=y(d);this._clear(d)};a.Canvas.prototype.clipRRect=function(d,h,m){a.Jd(this.Id);d=D(d);this._clipRRect(d,
h,m)};a.Canvas.prototype.clipRect=function(d,h,m){a.Jd(this.Id);d=v(d);this._clipRect(d,h,m)};a.Canvas.prototype.concat=function(d){a.Jd(this.Id);d=x(d);this._concat(d)};a.Canvas.prototype.drawArc=function(d,h,m,t,w){a.Jd(this.Id);d=v(d);this._drawArc(d,h,m,t,w)};a.Canvas.prototype.drawAtlas=function(d,h,m,t,w,z,F){if(d&&t&&h&&m&&h.length===m.length){a.Jd(this.Id);w||(w=a.BlendMode.SrcOver);var K=l(h,"HEAPF32"),H=l(m,"HEAPF32"),S=m.length/4,p=l(c(z),"HEAPU32");if(F&&"B"in F&&"C"in F)this._drawAtlasCubic(d,
H,K,p,S,w,F.B,F.C,t);else{let A=a.FilterMode.Linear,L=a.MipmapMode.None;F&&(A=F.filter,"mipmap"in F&&(L=F.mipmap));this._drawAtlasOptions(d,H,K,p,S,w,A,L,t)}k(K,h);k(H,m);k(p,z)}};a.Canvas.prototype.drawCircle=function(d,h,m,t){a.Jd(this.Id);this._drawCircle(d,h,m,t)};a.Canvas.prototype.drawColor=function(d,h){a.Jd(this.Id);d=y(d);void 0!==h?this._drawColor(d,h):this._drawColor(d)};a.Canvas.prototype.drawColorInt=function(d,h){a.Jd(this.Id);this._drawColorInt(d,h||a.BlendMode.SrcOver)};a.Canvas.prototype.drawColorComponents=
function(d,h,m,t,w){a.Jd(this.Id);d=C(d,h,m,t);void 0!==w?this._drawColor(d,w):this._drawColor(d)};a.Canvas.prototype.drawDRRect=function(d,h,m){a.Jd(this.Id);d=D(d,Gb);h=D(h,uc);this._drawDRRect(d,h,m)};a.Canvas.prototype.drawImage=function(d,h,m,t){a.Jd(this.Id);this._drawImage(d,h,m,t||null)};a.Canvas.prototype.drawImageCubic=function(d,h,m,t,w,z){a.Jd(this.Id);this._drawImageCubic(d,h,m,t,w,z||null)};a.Canvas.prototype.drawImageOptions=function(d,h,m,t,w,z){a.Jd(this.Id);this._drawImageOptions(d,
h,m,t,w,z||null)};a.Canvas.prototype.drawImageNine=function(d,h,m,t,w){a.Jd(this.Id);h=l(h,"HEAP32",gb);m=v(m);this._drawImageNine(d,h,m,t,w||null)};a.Canvas.prototype.drawImageRect=function(d,h,m,t,w){a.Jd(this.Id);v(h,V);v(m,Ba);this._drawImageRect(d,V,Ba,t,!!w)};a.Canvas.prototype.drawImageRectCubic=function(d,h,m,t,w,z){a.Jd(this.Id);v(h,V);v(m,Ba);this._drawImageRectCubic(d,V,Ba,t,w,z||null)};a.Canvas.prototype.drawImageRectOptions=function(d,h,m,t,w,z){a.Jd(this.Id);v(h,V);v(m,Ba);this._drawImageRectOptions(d,
V,Ba,t,w,z||null)};a.Canvas.prototype.drawLine=function(d,h,m,t,w){a.Jd(this.Id);this._drawLine(d,h,m,t,w)};a.Canvas.prototype.drawOval=function(d,h){a.Jd(this.Id);d=v(d);this._drawOval(d,h)};a.Canvas.prototype.drawPaint=function(d){a.Jd(this.Id);this._drawPaint(d)};a.Canvas.prototype.drawParagraph=function(d,h,m){a.Jd(this.Id);this._drawParagraph(d,h,m)};a.Canvas.prototype.drawPatch=function(d,h,m,t,w){if(24>d.length)throw"Need 12 cubic points";if(h&&4>h.length)throw"Need 4 colors";if(m&&8>m.length)throw"Need 4 shader coordinates";
a.Jd(this.Id);const z=l(d,"HEAPF32"),F=h?l(c(h),"HEAPU32"):M,K=m?l(m,"HEAPF32"):M;t||(t=a.BlendMode.Modulate);this._drawPatch(z,F,K,t,w);k(K,m);k(F,h);k(z,d)};a.Canvas.prototype.drawPath=function(d,h){a.Jd(this.Id);this._drawPath(d,h)};a.Canvas.prototype.drawPicture=function(d){a.Jd(this.Id);this._drawPicture(d)};a.Canvas.prototype.drawPoints=function(d,h,m){a.Jd(this.Id);var t=l(h,"HEAPF32");this._drawPoints(d,t,h.length/2,m);k(t,h)};a.Canvas.prototype.drawRRect=function(d,h){a.Jd(this.Id);d=D(d);
this._drawRRect(d,h)};a.Canvas.prototype.drawRect=function(d,h){a.Jd(this.Id);d=v(d);this._drawRect(d,h)};a.Canvas.prototype.drawRect4f=function(d,h,m,t,w){a.Jd(this.Id);this._drawRect4f(d,h,m,t,w)};a.Canvas.prototype.drawShadow=function(d,h,m,t,w,z,F){a.Jd(this.Id);var K=l(w,"HEAPF32"),H=l(z,"HEAPF32");h=l(h,"HEAPF32",Hb);m=l(m,"HEAPF32",Ib);this._drawShadow(d,h,m,t,K,H,F);k(K,w);k(H,z)};a.getShadowLocalBounds=function(d,h,m,t,w,z,F){d=q(d);m=l(m,"HEAPF32",Hb);t=l(t,"HEAPF32",Ib);if(!this._getShadowLocalBounds(d,
h,m,t,w,z,V))return null;h=va.toTypedArray();return F?(F.set(h),F):h.slice()};a.Canvas.prototype.drawTextBlob=function(d,h,m,t){a.Jd(this.Id);this._drawTextBlob(d,h,m,t)};a.Canvas.prototype.drawVertices=function(d,h,m){a.Jd(this.Id);this._drawVertices(d,h,m)};a.Canvas.prototype.getDeviceClipBounds=function(d){this._getDeviceClipBounds(gb);var h=Jb.toTypedArray();d?d.set(h):d=h.slice();return d};a.Canvas.prototype.getLocalToDevice=function(){this._getLocalToDevice(Z);for(var d=Z,h=Array(16),m=0;16>
m;m++)h[m]=a.HEAPF32[d/4+m];return h};a.Canvas.prototype.getTotalMatrix=function(){this._getTotalMatrix(I);for(var d=Array(9),h=0;9>h;h++)d[h]=a.HEAPF32[I/4+h];return d};a.Canvas.prototype.makeSurface=function(d){d=this._makeSurface(d);d.Id=this.Id;return d};a.Canvas.prototype.readPixels=function(d,h,m,t,w){a.Jd(this.Id);return g(this,d,h,m,t,w)};a.Canvas.prototype.saveLayer=function(d,h,m,t){h=v(h);return this._saveLayer(d||null,h,m||null,t||0)};a.Canvas.prototype.writePixels=function(d,h,m,t,w,
z,F,K){if(d.byteLength%(h*m))throw"pixels length must be a multiple of the srcWidth * srcHeight";a.Jd(this.Id);var H=d.byteLength/(h*m);z=z||a.AlphaType.Unpremul;F=F||a.ColorType.RGBA_8888;K=K||a.ColorSpace.SRGB;var S=H*h;H=l(d,"HEAPU8");h=this._writePixels({width:h,height:m,colorType:F,alphaType:z,colorSpace:K},H,S,t,w);k(H,d);return h};a.ColorFilter.MakeBlend=function(d,h,m){d=y(d);m=m||a.ColorSpace.SRGB;return a.ColorFilter._MakeBlend(d,h,m)};a.ColorFilter.MakeMatrix=function(d){if(!d||20!==d.length)throw"invalid color matrix";
var h=l(d,"HEAPF32"),m=a.ColorFilter._makeMatrix(h);k(h,d);return m};a.ContourMeasure.prototype.getPosTan=function(d,h){this._getPosTan(d,V);d=va.toTypedArray();return h?(h.set(d),h):d.slice()};a.ImageFilter.MakeDropShadow=function(d,h,m,t,w,z){w=y(w,ua);return a.ImageFilter._MakeDropShadow(d,h,m,t,w,z)};a.ImageFilter.MakeDropShadowOnly=function(d,h,m,t,w,z){w=y(w,ua);return a.ImageFilter._MakeDropShadowOnly(d,h,m,t,w,z)};a.ImageFilter.MakeImage=function(d,h,m,t){m=v(m,V);t=v(t,Ba);if("B"in h&&"C"in
h)return a.ImageFilter._MakeImageCubic(d,h.B,h.C,m,t);const w=h.filter;let z=a.MipmapMode.None;"mipmap"in h&&(z=h.mipmap);return a.ImageFilter._MakeImageOptions(d,w,z,m,t)};a.ImageFilter.MakeMatrixTransform=function(d,h,m){d=q(d);if("B"in h&&"C"in h)return a.ImageFilter._MakeMatrixTransformCubic(d,h.B,h.C,m);const t=h.filter;let w=a.MipmapMode.None;"mipmap"in h&&(w=h.mipmap);return a.ImageFilter._MakeMatrixTransformOptions(d,t,w,m)};a.Paint.prototype.getColor=function(){this._getColor(ua);return E(ua)};
a.Paint.prototype.setColor=function(d,h){h=h||null;d=y(d);this._setColor(d,h)};a.Paint.prototype.setColorComponents=function(d,h,m,t,w){w=w||null;d=C(d,h,m,t);this._setColor(d,w)};a.Path.prototype.getPoint=function(d,h){this._getPoint(d,V);d=va.toTypedArray();return h?(h[0]=d[0],h[1]=d[1],h):d.slice(0,2)};a.Picture.prototype.makeShader=function(d,h,m,t,w){t=q(t);w=v(w);return this._makeShader(d,h,m,t,w)};a.PictureRecorder.prototype.beginRecording=function(d){d=v(d);return this._beginRecording(d)};
a.Surface.prototype.getCanvas=function(){var d=this._getCanvas();d.Id=this.Id;return d};a.Surface.prototype.makeImageSnapshot=function(d){a.Jd(this.Id);d=l(d,"HEAP32",gb);return this._makeImageSnapshot(d)};a.Surface.prototype.makeSurface=function(d){a.Jd(this.Id);d=this._makeSurface(d);d.Id=this.Id;return d};a.Surface.prototype.Pe=function(d,h){this.de||(this.de=this.getCanvas());return requestAnimationFrame(function(){a.Jd(this.Id);d(this.de);this.flush(h)}.bind(this))};a.Surface.prototype.requestAnimationFrame||
(a.Surface.prototype.requestAnimationFrame=a.Surface.prototype.Pe);a.Surface.prototype.Me=function(d,h){this.de||(this.de=this.getCanvas());requestAnimationFrame(function(){a.Jd(this.Id);d(this.de);this.flush(h);this.dispose()}.bind(this))};a.Surface.prototype.drawOnce||(a.Surface.prototype.drawOnce=a.Surface.prototype.Me);a.PathEffect.MakeDash=function(d,h){h||(h=0);if(!d.length||1===d.length%2)throw"Intervals array must have even length";var m=l(d,"HEAPF32");h=a.PathEffect._MakeDash(m,d.length,
h);k(m,d);return h};a.PathEffect.MakeLine2D=function(d,h){h=q(h);return a.PathEffect._MakeLine2D(d,h)};a.PathEffect.MakePath2D=function(d,h){d=q(d);return a.PathEffect._MakePath2D(d,h)};a.Shader.MakeColor=function(d,h){h=h||null;d=y(d);return a.Shader._MakeColor(d,h)};a.Shader.Blend=a.Shader.MakeBlend;a.Shader.Color=a.Shader.MakeColor;a.Shader.MakeLinearGradient=function(d,h,m,t,w,z,F,K){K=K||null;var H=n(m),S=l(t,"HEAPF32");F=F||0;z=q(z);var p=va.toTypedArray();p.set(d);p.set(h,2);d=a.Shader._MakeLinearGradient(V,
H.Rd,H.fe,S,H.count,w,F,z,K);k(H.Rd,m);t&&k(S,t);return d};a.Shader.MakeRadialGradient=function(d,h,m,t,w,z,F,K){K=K||null;var H=n(m),S=l(t,"HEAPF32");F=F||0;z=q(z);d=a.Shader._MakeRadialGradient(d[0],d[1],h,H.Rd,H.fe,S,H.count,w,F,z,K);k(H.Rd,m);t&&k(S,t);return d};a.Shader.MakeSweepGradient=function(d,h,m,t,w,z,F,K,H,S){S=S||null;var p=n(m),A=l(t,"HEAPF32");F=F||0;K=K||0;H=H||360;z=q(z);d=a.Shader._MakeSweepGradient(d,h,p.Rd,p.fe,A,p.count,w,K,H,F,z,S);k(p.Rd,m);t&&k(A,t);return d};a.Shader.MakeTwoPointConicalGradient=
function(d,h,m,t,w,z,F,K,H,S){S=S||null;var p=n(w),A=l(z,"HEAPF32");H=H||0;K=q(K);var L=va.toTypedArray();L.set(d);L.set(m,2);d=a.Shader._MakeTwoPointConicalGradient(V,h,t,p.Rd,p.fe,A,p.count,F,H,K,S);k(p.Rd,w);z&&k(A,z);return d};a.Vertices.prototype.bounds=function(d){this._bounds(V);var h=va.toTypedArray();return d?(d.set(h),d):h.slice()};a.Md&&a.Md.forEach(function(d){d()})};a.computeTonalColors=function(g){var d=l(g.ambient,"HEAPF32"),h=l(g.spot,"HEAPF32");this._computeTonalColors(d,h);var m=
{ambient:E(d),spot:E(h)};k(d,g.ambient);k(h,g.spot);return m};a.LTRBRect=function(g,d,h,m){return Float32Array.of(g,d,h,m)};a.XYWHRect=function(g,d,h,m){return Float32Array.of(g,d,g+h,d+m)};a.LTRBiRect=function(g,d,h,m){return Int32Array.of(g,d,h,m)};a.XYWHiRect=function(g,d,h,m){return Int32Array.of(g,d,g+h,d+m)};a.RRectXY=function(g,d,h){return Float32Array.of(g[0],g[1],g[2],g[3],d,h,d,h,d,h,d,h)};a.MakeAnimatedImageFromEncoded=function(g){g=new Uint8Array(g);var d=a._malloc(g.byteLength);a.HEAPU8.set(g,
d);return(g=a._decodeAnimatedImage(d,g.byteLength))?g:null};a.MakeImageFromEncoded=function(g){g=new Uint8Array(g);var d=a._malloc(g.byteLength);a.HEAPU8.set(g,d);return(g=a._decodeImage(d,g.byteLength))?g:null};var Ra=null;a.MakeImageFromCanvasImageSource=function(g){var d=g.width,h=g.height;Ra||(Ra=document.createElement("canvas"));Ra.width=d;Ra.height=h;var m=Ra.getContext("2d",{Kf:!0});m.drawImage(g,0,0);g=m.getImageData(0,0,d,h);return a.MakeImage({width:d,height:h,alphaType:a.AlphaType.Unpremul,
colorType:a.ColorType.RGBA_8888,colorSpace:a.ColorSpace.SRGB},g.data,4*d)};a.MakeImage=function(g,d,h){var m=a._malloc(d.length);a.HEAPU8.set(d,m);return a._MakeImage(g,m,d.length,h)};a.MakeVertices=function(g,d,h,m,t,w){var z=t&&t.length||0,F=0;h&&h.length&&(F|=1);m&&m.length&&(F|=2);void 0===w||w||(F|=4);g=new a._VerticesBuilder(g,d.length/2,z,F);l(d,"HEAPF32",g.positions());g.texCoords()&&l(h,"HEAPF32",g.texCoords());g.colors()&&l(c(m),"HEAPU32",g.colors());g.indices()&&l(t,"HEAPU16",g.indices());
return g.detach()};(function(g){g.Md=g.Md||[];g.Md.push(function(){function d(p){if(!p||!p.length)return[];for(var A=[],L=0;L<p.length;L+=5){var U=g.LTRBRect(p[L],p[L+1],p[L+2],p[L+3]),za=g.TextDirection.LTR;0===p[L+4]&&(za=g.TextDirection.RTL);A.push({rect:U,dir:za})}g._free(p.byteOffset);return A}function h(p){p=p||{};void 0===p.weight&&(p.weight=g.FontWeight.Normal);p.width=p.width||g.FontWidth.Normal;p.slant=p.slant||g.FontSlant.Upright;return p}function m(p){if(!p||!p.length)return M;for(var A=
[],L=0;L<p.length;L++){var U=t(p[L]);A.push(U)}return l(A,"HEAPU32")}function t(p){if(F[p])return F[p];var A=ka(p)+1,L=g._malloc(A);la(p,B,L,A);return F[p]=L}function w(p){p._colorPtr=y(p.color);p._foregroundColorPtr=M;p._backgroundColorPtr=M;p._decorationColorPtr=M;p.foregroundColor&&(p._foregroundColorPtr=y(p.foregroundColor,K));p.backgroundColor&&(p._backgroundColorPtr=y(p.backgroundColor,H));p.decorationColor&&(p._decorationColorPtr=y(p.decorationColor,S));Array.isArray(p.fontFamilies)&&p.fontFamilies.length?
(p._fontFamiliesPtr=m(p.fontFamilies),p._fontFamiliesLen=p.fontFamilies.length):(p._fontFamiliesPtr=M,p._fontFamiliesLen=0);if(p.locale){var A=p.locale;p._localePtr=t(A);p._localeLen=ka(A)+1}else p._localePtr=M,p._localeLen=0;if(Array.isArray(p.shadows)&&p.shadows.length){A=p.shadows;var L=A.map(function(pa){return pa.color||g.BLACK}),U=A.map(function(pa){return pa.blurRadius||0});p._shadowLen=A.length;for(var za=g._malloc(8*A.length),Kb=za/4,Lb=0;Lb<A.length;Lb++){var vc=A[Lb].offset||[0,0];g.HEAPF32[Kb]=
vc[0];g.HEAPF32[Kb+1]=vc[1];Kb+=2}p._shadowColorsPtr=n(L).Rd;p._shadowOffsetsPtr=za;p._shadowBlurRadiiPtr=l(U,"HEAPF32")}else p._shadowLen=0,p._shadowColorsPtr=M,p._shadowOffsetsPtr=M,p._shadowBlurRadiiPtr=M;Array.isArray(p.fontFeatures)&&p.fontFeatures.length?(A=p.fontFeatures,L=A.map(function(pa){return pa.name}),U=A.map(function(pa){return pa.value}),p._fontFeatureLen=A.length,p._fontFeatureNamesPtr=m(L),p._fontFeatureValuesPtr=l(U,"HEAPU32")):(p._fontFeatureLen=0,p._fontFeatureNamesPtr=M,p._fontFeatureValuesPtr=
M);Array.isArray(p.fontVariations)&&p.fontVariations.length?(A=p.fontVariations,L=A.map(function(pa){return pa.axis}),U=A.map(function(pa){return pa.value}),p._fontVariationLen=A.length,p._fontVariationAxesPtr=m(L),p._fontVariationValuesPtr=l(U,"HEAPF32")):(p._fontVariationLen=0,p._fontVariationAxesPtr=M,p._fontVariationValuesPtr=M)}function z(p){g._free(p._fontFamiliesPtr);g._free(p._shadowColorsPtr);g._free(p._shadowOffsetsPtr);g._free(p._shadowBlurRadiiPtr);g._free(p._fontFeatureNamesPtr);g._free(p._fontFeatureValuesPtr);
g._free(p._fontVariationAxesPtr);g._free(p._fontVariationValuesPtr)}g.Paragraph.prototype.getRectsForRange=function(p,A,L,U){p=this._getRectsForRange(p,A,L,U);return d(p)};g.Paragraph.prototype.getRectsForPlaceholders=function(){var p=this._getRectsForPlaceholders();return d(p)};g.TypefaceFontProvider.prototype.registerFont=function(p,A){p=g.Typeface.MakeFreeTypeFaceFromData(p);if(!p)return null;A=t(A);this._registerFont(p,A)};g.ParagraphStyle=function(p){p.disableHinting=p.disableHinting||!1;if(p.ellipsis){var A=
p.ellipsis;p._ellipsisPtr=t(A);p._ellipsisLen=ka(A)+1}else p._ellipsisPtr=M,p._ellipsisLen=0;null==p.heightMultiplier&&(p.heightMultiplier=-1);p.maxLines=p.maxLines||0;p.replaceTabCharacters=p.replaceTabCharacters||!1;A=(A=p.strutStyle)||{};A.strutEnabled=A.strutEnabled||!1;A.strutEnabled&&Array.isArray(A.fontFamilies)&&A.fontFamilies.length?(A._fontFamiliesPtr=m(A.fontFamilies),A._fontFamiliesLen=A.fontFamilies.length):(A._fontFamiliesPtr=M,A._fontFamiliesLen=0);A.fontStyle=h(A.fontStyle);null==
A.fontSize&&(A.fontSize=-1);null==A.heightMultiplier&&(A.heightMultiplier=-1);A.halfLeading=A.halfLeading||!1;A.leading=A.leading||0;A.forceStrutHeight=A.forceStrutHeight||!1;p.strutStyle=A;p.textAlign=p.textAlign||g.TextAlign.Start;p.textDirection=p.textDirection||g.TextDirection.LTR;p.textHeightBehavior=p.textHeightBehavior||g.TextHeightBehavior.All;p.textStyle=g.TextStyle(p.textStyle);return p};g.TextStyle=function(p){p.color||(p.color=g.BLACK);p.decoration=p.decoration||0;p.decorationThickness=
p.decorationThickness||0;p.decorationStyle=p.decorationStyle||g.DecorationStyle.Solid;p.textBaseline=p.textBaseline||g.TextBaseline.Alphabetic;null==p.fontSize&&(p.fontSize=-1);p.letterSpacing=p.letterSpacing||0;p.wordSpacing=p.wordSpacing||0;null==p.heightMultiplier&&(p.heightMultiplier=-1);p.halfLeading=p.halfLeading||!1;p.fontStyle=h(p.fontStyle);return p};var F={},K=g._malloc(16),H=g._malloc(16),S=g._malloc(16);g.ParagraphBuilder.Make=function(p,A){w(p.textStyle);A=g.ParagraphBuilder._Make(p,
A);z(p.textStyle);return A};g.ParagraphBuilder.MakeFromFontProvider=function(p,A){w(p.textStyle);A=g.ParagraphBuilder._MakeFromFontProvider(p,A);z(p.textStyle);return A};g.ParagraphBuilder.MakeFromFontCollection=function(p,A){w(p.textStyle);A=g.ParagraphBuilder._MakeFromFontCollection(p,A);z(p.textStyle);return A};g.ParagraphBuilder.ShapeText=function(p,A,L){let U=0;for(const za of A)U+=za.length;if(U!==p.length)throw"Accumulated block lengths must equal text.length";return g.ParagraphBuilder._ShapeText(p,
A,L)};g.ParagraphBuilder.prototype.pushStyle=function(p){w(p);this._pushStyle(p);z(p)};g.ParagraphBuilder.prototype.pushPaintStyle=function(p,A,L){w(p);this._pushPaintStyle(p,A,L);z(p)};g.ParagraphBuilder.prototype.addPlaceholder=function(p,A,L,U,za){L=L||g.PlaceholderAlignment.Baseline;U=U||g.TextBaseline.Alphabetic;this._addPlaceholder(p||0,A||0,L,U,za||0)};g.ParagraphBuilder.prototype.setWordsUtf8=function(p){var A=l(p,"HEAPU32");this._setWordsUtf8(A,p&&p.length||0);k(A,p)};g.ParagraphBuilder.prototype.setWordsUtf16=
function(p){var A=l(p,"HEAPU32");this._setWordsUtf16(A,p&&p.length||0);k(A,p)};g.ParagraphBuilder.prototype.setGraphemeBreaksUtf8=function(p){var A=l(p,"HEAPU32");this._setGraphemeBreaksUtf8(A,p&&p.length||0);k(A,p)};g.ParagraphBuilder.prototype.setGraphemeBreaksUtf16=function(p){var A=l(p,"HEAPU32");this._setGraphemeBreaksUtf16(A,p&&p.length||0);k(A,p)};g.ParagraphBuilder.prototype.setLineBreaksUtf8=function(p){var A=l(p,"HEAPU32");this._setLineBreaksUtf8(A,p&&p.length||0);k(A,p)};g.ParagraphBuilder.prototype.setLineBreaksUtf16=
function(p){var A=l(p,"HEAPU32");this._setLineBreaksUtf16(A,p&&p.length||0);k(A,p)}})})(r);a.Md=a.Md||[];a.Md.push(function(){a.Path.prototype.op=function(g,d){return this._op(g,d)?this:null};a.Path.prototype.simplify=function(){return this._simplify()?this:null}});a.Md=a.Md||[];a.Md.push(function(){a.Canvas.prototype.drawText=function(g,d,h,m,t){var w=ka(g),z=a._malloc(w+1);la(g,B,z,w+1);this._drawSimpleText(z,w,d,h,t,m);a._free(z)};a.Canvas.prototype.drawGlyphs=function(g,d,h,m,t,w){if(!(2*g.length<=
d.length))throw"Not enough positions for the array of gyphs";a.Jd(this.Id);const z=l(g,"HEAPU16"),F=l(d,"HEAPF32");this._drawGlyphs(g.length,z,F,h,m,t,w);k(F,d);k(z,g)};a.Font.prototype.getGlyphBounds=function(g,d,h){var m=l(g,"HEAPU16"),t=a._malloc(16*g.length);this._getGlyphWidthBounds(m,g.length,M,t,d||null);d=new Float32Array(a.HEAPU8.buffer,t,4*g.length);k(m,g);if(h)return h.set(d),a._free(t),h;g=Float32Array.from(d);a._free(t);return g};a.Font.prototype.getGlyphIDs=function(g,d,h){d||(d=g.length);
var m=ka(g)+1,t=a._malloc(m);la(g,B,t,m);g=a._malloc(2*d);d=this._getGlyphIDs(t,m-1,d,g);a._free(t);if(0>d)return a._free(g),null;t=new Uint16Array(a.HEAPU8.buffer,g,d);if(h)return h.set(t),a._free(g),h;h=Uint16Array.from(t);a._free(g);return h};a.Font.prototype.getGlyphIntercepts=function(g,d,h,m){var t=l(g,"HEAPU16"),w=l(d,"HEAPF32");return this._getGlyphIntercepts(t,g.length,!(g&&g._ck),w,d.length,!(d&&d._ck),h,m)};a.Font.prototype.getGlyphWidths=function(g,d,h){var m=l(g,"HEAPU16"),t=a._malloc(4*
g.length);this._getGlyphWidthBounds(m,g.length,t,M,d||null);d=new Float32Array(a.HEAPU8.buffer,t,g.length);k(m,g);if(h)return h.set(d),a._free(t),h;g=Float32Array.from(d);a._free(t);return g};a.FontMgr.FromData=function(){if(!arguments.length)return null;var g=arguments;1===g.length&&Array.isArray(g[0])&&(g=arguments[0]);if(!g.length)return null;for(var d=[],h=[],m=0;m<g.length;m++){var t=new Uint8Array(g[m]),w=l(t,"HEAPU8");d.push(w);h.push(t.byteLength)}d=l(d,"HEAPU32");h=l(h,"HEAPU32");g=a.FontMgr._fromData(d,
h,g.length);a._free(d);a._free(h);return g};a.Typeface.MakeFreeTypeFaceFromData=function(g){g=new Uint8Array(g);var d=l(g,"HEAPU8");return(g=a.Typeface._MakeFreeTypeFaceFromData(d,g.byteLength))?g:null};a.Typeface.prototype.getGlyphIDs=function(g,d,h){d||(d=g.length);var m=ka(g)+1,t=a._malloc(m);la(g,B,t,m);g=a._malloc(2*d);d=this._getGlyphIDs(t,m-1,d,g);a._free(t);if(0>d)return a._free(g),null;t=new Uint16Array(a.HEAPU8.buffer,g,d);if(h)return h.set(t),a._free(g),h;h=Uint16Array.from(t);a._free(g);
return h};a.TextBlob.MakeOnPath=function(g,d,h,m){if(g&&g.length&&d&&d.countPoints()){if(1===d.countPoints())return this.MakeFromText(g,h);m||(m=0);var t=h.getGlyphIDs(g);t=h.getGlyphWidths(t);var w=[];d=new a.ContourMeasureIter(d,!1,1);for(var z=d.next(),F=new Float32Array(4),K=0;K<g.length&&z;K++){var H=t[K];m+=H/2;if(m>z.length()){z.delete();z=d.next();if(!z){g=g.substring(0,K);break}m=H/2}z.getPosTan(m,F);var S=F[2],p=F[3];w.push(S,p,F[0]-H/2*S,F[1]-H/2*p);m+=H/2}g=this.MakeFromRSXform(g,w,h);
z&&z.delete();d.delete();return g}};a.TextBlob.MakeFromRSXform=function(g,d,h){var m=ka(g)+1,t=a._malloc(m);la(g,B,t,m);g=l(d,"HEAPF32");h=a.TextBlob._MakeFromRSXform(t,m-1,g,h);a._free(t);return h?h:null};a.TextBlob.MakeFromRSXformGlyphs=function(g,d,h){var m=l(g,"HEAPU16");d=l(d,"HEAPF32");h=a.TextBlob._MakeFromRSXformGlyphs(m,2*g.length,d,h);k(m,g);return h?h:null};a.TextBlob.MakeFromGlyphs=function(g,d){var h=l(g,"HEAPU16");d=a.TextBlob._MakeFromGlyphs(h,2*g.length,d);k(h,g);return d?d:null};
a.TextBlob.MakeFromText=function(g,d){var h=ka(g)+1,m=a._malloc(h);la(g,B,m,h);g=a.TextBlob._MakeFromText(m,h-1,d);a._free(m);return g?g:null};a.MallocGlyphIDs=function(g){return a.Malloc(Uint16Array,g)}});a.Md=a.Md||[];a.Md.push(function(){a.MakePicture=function(g){g=new Uint8Array(g);var d=a._malloc(g.byteLength);a.HEAPU8.set(g,d);return(g=a._MakePicture(d,g.byteLength))?g:null}});a.Md=a.Md||[];a.Md.push(function(){a.RuntimeEffect.Make=function(g,d){return a.RuntimeEffect._Make(g,{onError:d||function(h){console.log("RuntimeEffect error",
h)}})};a.RuntimeEffect.prototype.makeShader=function(g,d){var h=!g._ck,m=l(g,"HEAPF32");d=q(d);return this._makeShader(m,4*g.length,h,d)};a.RuntimeEffect.prototype.makeShaderWithChildren=function(g,d,h){var m=!g._ck,t=l(g,"HEAPF32");h=q(h);for(var w=[],z=0;z<d.length;z++)w.push(d[z].Hd.Kd);d=l(w,"HEAPU32");return this._makeShaderWithChildren(t,4*g.length,m,d,w.length,h)}})})(r);
var ma=aa({},r),na="./this.program",oa=(a,b)=>{throw b;},qa="object"===typeof window,ra="function"===typeof importScripts,sa="object"===typeof process&&"object"===typeof process.versions&&"string"===typeof process.versions.node,ta="",wa,xa,ya,fs,Aa,Ca;
if(sa)ta=ra?require("path").dirname(ta)+"/":__dirname+"/",Ca=()=>{Aa||(fs=require("fs"),Aa=require("path"))},wa=function(a,b){Ca();a=Aa.normalize(a);return fs.readFileSync(a,b?null:"utf8")},ya=a=>{a=wa(a,!0);a.buffer||(a=new Uint8Array(a));return a},xa=(a,b,c)=>{Ca();a=Aa.normalize(a);fs.readFile(a,function(e,f){e?c(e):b(f.buffer)})},1<process.argv.length&&(na=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),process.on("unhandledRejection",function(a){throw a;}),oa=(a,b)=>{if(noExitRuntime||
0<Da)throw process.exitCode=a,b;b instanceof Ea||Fa("exiting due to exception: "+b);process.exit(a)},r.inspect=function(){return"[Emscripten Module object]"};else if(qa||ra)ra?ta=self.location.href:"undefined"!==typeof document&&document.currentScript&&(ta=document.currentScript.src),_scriptDir&&(ta=_scriptDir),0!==ta.indexOf("blob:")?ta=ta.substr(0,ta.replace(/[?#].*/,"").lastIndexOf("/")+1):ta="",wa=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},ra&&(ya=a=>{var b=
new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}),xa=(a,b,c)=>{var e=new XMLHttpRequest;e.open("GET",a,!0);e.responseType="arraybuffer";e.onload=()=>{200==e.status||0==e.status&&e.response?b(e.response):c()};e.onerror=c;e.send(null)};var Ga=r.print||console.log.bind(console),Fa=r.printErr||console.warn.bind(console);aa(r,ma);ma=null;r.thisProgram&&(na=r.thisProgram);r.quit&&(oa=r.quit);var Ha=0,Ia;r.wasmBinary&&(Ia=r.wasmBinary);
var noExitRuntime=r.noExitRuntime||!0;"object"!==typeof WebAssembly&&Ja("no native wasm support detected");var Ka,La=!1,Na="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;
function Oa(a,b,c){var e=b+c;for(c=b;a[c]&&!(c>=e);)++c;if(16<c-b&&a.subarray&&Na)return Na.decode(a.subarray(b,c));for(e="";b<c;){var f=a[b++];if(f&128){var k=a[b++]&63;if(192==(f&224))e+=String.fromCharCode((f&31)<<6|k);else{var l=a[b++]&63;f=224==(f&240)?(f&15)<<12|k<<6|l:(f&7)<<18|k<<12|l<<6|a[b++]&63;65536>f?e+=String.fromCharCode(f):(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else e+=String.fromCharCode(f)}return e}function Pa(a,b){return a?Oa(B,a,b):""}
function la(a,b,c,e){if(!(0<e))return 0;var f=c;e=c+e-1;for(var k=0;k<a.length;++k){var l=a.charCodeAt(k);if(55296<=l&&57343>=l){var n=a.charCodeAt(++k);l=65536+((l&1023)<<10)|n&1023}if(127>=l){if(c>=e)break;b[c++]=l}else{if(2047>=l){if(c+1>=e)break;b[c++]=192|l>>6}else{if(65535>=l){if(c+2>=e)break;b[c++]=224|l>>12}else{if(c+3>=e)break;b[c++]=240|l>>18;b[c++]=128|l>>12&63}b[c++]=128|l>>6&63}b[c++]=128|l&63}}b[c]=0;return c-f}
function ka(a){for(var b=0,c=0;c<a.length;++c){var e=a.charCodeAt(c);55296<=e&&57343>=e&&(e=65536+((e&1023)<<10)|a.charCodeAt(++c)&1023);127>=e?++b:b=2047>=e?b+2:65535>=e?b+3:b+4}return b}var Qa="undefined"!==typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function Sa(a,b){var c=a>>1;for(var e=c+b/2;!(c>=e)&&Ta[c];)++c;c<<=1;if(32<c-a&&Qa)return Qa.decode(B.subarray(a,c));c="";for(e=0;!(e>=b/2);++e){var f=Ua[a+2*e>>1];if(0==f)break;c+=String.fromCharCode(f)}return c}
function Va(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var e=b;c=c<2*a.length?c/2:a.length;for(var f=0;f<c;++f)Ua[b>>1]=a.charCodeAt(f),b+=2;Ua[b>>1]=0;return b-e}function Wa(a){return 2*a.length}function Xa(a,b){for(var c=0,e="";!(c>=b/4);){var f=G[a+4*c>>2];if(0==f)break;++c;65536<=f?(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023)):e+=String.fromCharCode(f)}return e}
function Ya(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var e=b;c=e+c-4;for(var f=0;f<a.length;++f){var k=a.charCodeAt(f);if(55296<=k&&57343>=k){var l=a.charCodeAt(++f);k=65536+((k&1023)<<10)|l&1023}G[b>>2]=k;b+=4;if(b+4>c)break}G[b>>2]=0;return b-e}function Za(a){for(var b=0,c=0;c<a.length;++c){var e=a.charCodeAt(c);55296<=e&&57343>=e&&++c;b+=4}return b}var $a,ab,B,Ua,Ta,G,J,N,bb;
function cb(){var a=Ka.buffer;$a=a;r.HEAP8=ab=new Int8Array(a);r.HEAP16=Ua=new Int16Array(a);r.HEAP32=G=new Int32Array(a);r.HEAPU8=B=new Uint8Array(a);r.HEAPU16=Ta=new Uint16Array(a);r.HEAPU32=J=new Uint32Array(a);r.HEAPF32=N=new Float32Array(a);r.HEAPF64=bb=new Float64Array(a)}var db,eb=[],fb=[],hb=[],Da=0;function ib(){var a=r.preRun.shift();eb.unshift(a)}var jb=0,kb=null,lb=null;r.preloadedImages={};r.preloadedAudios={};
function Ja(a){if(r.onAbort)r.onAbort(a);a="Aborted("+a+")";Fa(a);La=!0;a=new WebAssembly.RuntimeError(a+". Build with -s ASSERTIONS=1 for more info.");ca(a);throw a;}function mb(){return nb.startsWith("data:application/octet-stream;base64,")}var nb;nb="canvaskit.wasm";if(!mb()){var ob=nb;nb=r.locateFile?r.locateFile(ob,ta):ta+ob}function pb(){var a=nb;try{if(a==nb&&Ia)return new Uint8Array(Ia);if(ya)return ya(a);throw"both async and sync fetching of the wasm failed";}catch(b){Ja(b)}}
function qb(){if(!Ia&&(qa||ra)){if("function"===typeof fetch&&!nb.startsWith("file://"))return fetch(nb,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+nb+"'";return a.arrayBuffer()}).catch(function(){return pb()});if(xa)return new Promise(function(a,b){xa(nb,function(c){a(new Uint8Array(c))},b)})}return Promise.resolve().then(function(){return pb()})}
function rb(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(r);else{var c=b.Ef;"number"===typeof c?void 0===b.ve?O(c)():O(c)(b.ve):c(void 0===b.ve?null:b.ve)}}}function O(a){return db.get(a)}
function sb(a){this.Kd=a-16;this.uf=function(b){G[this.Kd+4>>2]=b};this.rf=function(b){G[this.Kd+8>>2]=b};this.sf=function(){G[this.Kd>>2]=0};this.qf=function(){ab[this.Kd+12>>0]=0};this.tf=function(){ab[this.Kd+13>>0]=0};this.gf=function(b,c){this.uf(b);this.rf(c);this.sf();this.qf();this.tf()}}var tb=0,ub={},vb=[null,[],[]],wb={},xb={};function yb(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function zb(a){return this.fromWireType(J[a>>2])}var Ab={},Bb={},Cb={};
function Db(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a}function Eb(a,b){a=Db(a);return function(){null;return b.apply(this,arguments)}}
function Fb(a){var b=Error,c=Eb(a,function(e){this.name=a;this.message=e;e=Error(e).stack;void 0!==e&&(this.stack=this.toString()+"\n"+e.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(b.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}var Mb=void 0;function Nb(a){throw new Mb(a);}
function Ob(a,b,c){function e(n){n=c(n);n.length!==a.length&&Nb("Mismatched type converter count");for(var q=0;q<a.length;++q)Pb(a[q],n[q])}a.forEach(function(n){Cb[n]=b});var f=Array(b.length),k=[],l=0;b.forEach(function(n,q){Bb.hasOwnProperty(n)?f[q]=Bb[n]:(k.push(n),Ab.hasOwnProperty(n)||(Ab[n]=[]),Ab[n].push(function(){f[q]=Bb[n];++l;l===k.length&&e(f)}))});0===k.length&&e(f)}
function Qb(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var Rb=void 0;function P(a){for(var b="";B[a];)b+=Rb[B[a++]];return b}var Sb=void 0;function Q(a){throw new Sb(a);}
function Pb(a,b,c={}){if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var e=b.name;a||Q('type "'+e+'" must have a positive integer typeid pointer');if(Bb.hasOwnProperty(a)){if(c.ff)return;Q("Cannot register type '"+e+"' twice")}Bb[a]=b;delete Cb[a];Ab.hasOwnProperty(a)&&(b=Ab[a],delete Ab[a],b.forEach(function(f){f()}))}function Tb(a){Q(a.Hd.Nd.Ld.name+" instance already deleted")}var Ub=!1;function Vb(){}
function Wb(a){--a.count.value;0===a.count.value&&(a.Pd?a.Td.Wd(a.Pd):a.Nd.Ld.Wd(a.Kd))}function Xb(a){if("undefined"===typeof FinalizationGroup)return Xb=b=>b,a;Ub=new FinalizationGroup(function(b){for(var c=b.next();!c.done;c=b.next())c=c.value,c.Kd?Wb(c):console.warn("object already deleted: "+c.Kd)});Xb=b=>{Ub.register(b,b.Hd,b.Hd);return b};Vb=b=>{Ub.unregister(b.Hd)};return Xb(a)}var Yb=void 0,Zb=[];function $b(){for(;Zb.length;){var a=Zb.pop();a.Hd.ae=!1;a["delete"]()}}function ac(){}
var bc={};function cc(a,b,c){if(void 0===a[b].Od){var e=a[b];a[b]=function(){a[b].Od.hasOwnProperty(arguments.length)||Q("Function '"+c+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+a[b].Od+")!");return a[b].Od[arguments.length].apply(this,arguments)};a[b].Od=[];a[b].Od[e.Zd]=e}}
function dc(a,b,c){r.hasOwnProperty(a)?((void 0===c||void 0!==r[a].Od&&void 0!==r[a].Od[c])&&Q("Cannot register public name '"+a+"' twice"),cc(r,a,a),r.hasOwnProperty(c)&&Q("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),r[a].Od[c]=b):(r[a]=b,void 0!==c&&(r[a].Gf=c))}function ec(a,b,c,e,f,k,l,n){this.name=a;this.constructor=b;this.be=c;this.Wd=e;this.Vd=f;this.Ze=k;this.je=l;this.We=n;this.nf=[]}
function fc(a,b,c){for(;b!==c;)b.je||Q("Expected null or instance of "+c.name+", got an instance of "+b.name),a=b.je(a),b=b.Vd;return a}function gc(a,b){if(null===b)return this.ye&&Q("null is not a valid "+this.name),0;b.Hd||Q('Cannot pass "'+hc(b)+'" as a '+this.name);b.Hd.Kd||Q("Cannot pass deleted object as a pointer of type "+this.name);return fc(b.Hd.Kd,b.Hd.Nd.Ld,this.Ld)}
function ic(a,b){if(null===b){this.ye&&Q("null is not a valid "+this.name);if(this.ne){var c=this.ze();null!==a&&a.push(this.Wd,c);return c}return 0}b.Hd||Q('Cannot pass "'+hc(b)+'" as a '+this.name);b.Hd.Kd||Q("Cannot pass deleted object as a pointer of type "+this.name);!this.me&&b.Hd.Nd.me&&Q("Cannot convert argument of type "+(b.Hd.Td?b.Hd.Td.name:b.Hd.Nd.name)+" to parameter type "+this.name);c=fc(b.Hd.Kd,b.Hd.Nd.Ld,this.Ld);if(this.ne)switch(void 0===b.Hd.Pd&&Q("Passing raw pointer to smart pointer is illegal"),
this.yf){case 0:b.Hd.Td===this?c=b.Hd.Pd:Q("Cannot convert argument of type "+(b.Hd.Td?b.Hd.Td.name:b.Hd.Nd.name)+" to parameter type "+this.name);break;case 1:c=b.Hd.Pd;break;case 2:if(b.Hd.Td===this)c=b.Hd.Pd;else{var e=b.clone();c=this.pf(c,jc(function(){e["delete"]()}));null!==a&&a.push(this.Wd,c)}break;default:Q("Unsupporting sharing policy")}return c}
function kc(a,b){if(null===b)return this.ye&&Q("null is not a valid "+this.name),0;b.Hd||Q('Cannot pass "'+hc(b)+'" as a '+this.name);b.Hd.Kd||Q("Cannot pass deleted object as a pointer of type "+this.name);b.Hd.Nd.me&&Q("Cannot convert argument of type "+b.Hd.Nd.name+" to parameter type "+this.name);return fc(b.Hd.Kd,b.Hd.Nd.Ld,this.Ld)}function lc(a,b,c){if(b===c)return a;if(void 0===c.Vd)return null;a=lc(a,b,c.Vd);return null===a?null:c.We(a)}var mc={};
function nc(a,b){for(void 0===b&&Q("ptr should not be undefined");a.Vd;)b=a.je(b),a=a.Vd;return mc[b]}function oc(a,b){b.Nd&&b.Kd||Nb("makeClassHandle requires ptr and ptrType");!!b.Td!==!!b.Pd&&Nb("Both smartPtrType and smartPtr must be specified");b.count={value:1};return Xb(Object.create(a,{Hd:{value:b}}))}
function wc(a,b,c,e,f,k,l,n,q,x,y){this.name=a;this.Ld=b;this.ye=c;this.me=e;this.ne=f;this.mf=k;this.yf=l;this.Ie=n;this.ze=q;this.pf=x;this.Wd=y;f||void 0!==b.Vd?this.toWireType=ic:(this.toWireType=e?gc:kc,this.Sd=null)}function xc(a,b,c){r.hasOwnProperty(a)||Nb("Replacing nonexistant public symbol");void 0!==r[a].Od&&void 0!==c?r[a].Od[c]=b:(r[a]=b,r[a].Zd=c)}
function yc(a,b){var c=[];return function(){c.length=arguments.length;for(var e=0;e<arguments.length;e++)c[e]=arguments[e];a.includes("j")?(e=r["dynCall_"+a],e=c&&c.length?e.apply(null,[b].concat(c)):e.call(null,b)):e=O(b).apply(null,c);return e}}function T(a,b){a=P(a);var c=a.includes("j")?yc(a,b):O(b);"function"!==typeof c&&Q("unknown function pointer with signature "+a+": "+b);return c}var zc=void 0;function Ac(a){a=Bc(a);var b=P(a);Cc(a);return b}
function Dc(a,b){function c(k){f[k]||Bb[k]||(Cb[k]?Cb[k].forEach(c):(e.push(k),f[k]=!0))}var e=[],f={};b.forEach(c);throw new zc(a+": "+e.map(Ac).join([", "]));}
function Ec(a,b,c,e,f){var k=b.length;2>k&&Q("argTypes array size mismatch! Must at least get return value and 'this' types!");var l=null!==b[1]&&null!==c,n=!1;for(c=1;c<b.length;++c)if(null!==b[c]&&void 0===b[c].Sd){n=!0;break}var q="void"!==b[0].name,x=k-2,y=Array(x),C=[],E=[];return function(){arguments.length!==x&&Q("function "+a+" called with "+arguments.length+" arguments, expected "+x+" args!");E.length=0;C.length=l?2:1;C[0]=f;if(l){var v=b[1].toWireType(E,this);C[1]=v}for(var D=0;D<x;++D)y[D]=
b[D+2].toWireType(E,arguments[D]),C.push(y[D]);D=e.apply(null,C);if(n)yb(E);else for(var I=l?1:2;I<b.length;I++){var R=1===I?v:y[I-2];null!==b[I].Sd&&b[I].Sd(R)}v=q?b[0].fromWireType(D):void 0;return v}}function Fc(a,b){for(var c=[],e=0;e<a;e++)c.push(G[(b>>2)+e]);return c}var Gc=[],Hc=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function Ic(a){4<a&&0===--Hc[a].Ae&&(Hc[a]=void 0,Gc.push(a))}function Jc(a){a||Q("Cannot use deleted val. handle = "+a);return Hc[a].value}
function jc(a){switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=Gc.length?Gc.pop():Hc.length;Hc[b]={Ae:1,value:a};return b}}function Kc(a,b,c){switch(b){case 0:return function(e){return this.fromWireType((c?ab:B)[e])};case 1:return function(e){return this.fromWireType((c?Ua:Ta)[e>>1])};case 2:return function(e){return this.fromWireType((c?G:J)[e>>2])};default:throw new TypeError("Unknown integer type: "+a);}}
function Lc(a,b){var c=Bb[a];void 0===c&&Q(b+" has unknown type "+Ac(a));return c}function hc(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}function Mc(a,b){switch(b){case 2:return function(c){return this.fromWireType(N[c>>2])};case 3:return function(c){return this.fromWireType(bb[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}
function Nc(a,b,c){switch(b){case 0:return c?function(e){return ab[e]}:function(e){return B[e]};case 1:return c?function(e){return Ua[e>>1]}:function(e){return Ta[e>>1]};case 2:return c?function(e){return G[e>>2]}:function(e){return J[e>>2]};default:throw new TypeError("Unknown integer type: "+a);}}var Oc={};function Pc(a){var b=Oc[a];return void 0===b?P(a):b}var Qc=[];
function Rc(){function a(b){b.$$$embind_global$$$=b;var c="object"===typeof $$$embind_global$$$&&b.$$$embind_global$$$===b;c||delete b.$$$embind_global$$$;return c}if("object"===typeof globalThis)return globalThis;if("object"===typeof $$$embind_global$$$)return $$$embind_global$$$;"object"===typeof global&&a(global)?$$$embind_global$$$=global:"object"===typeof self&&a(self)&&($$$embind_global$$$=self);if("object"===typeof $$$embind_global$$$)return $$$embind_global$$$;throw Error("unable to get global object.");
}function Sc(a){var b=Qc.length;Qc.push(a);return b}function Tc(a,b){for(var c=Array(a),e=0;e<a;++e)c[e]=Lc(G[(b>>2)+e],"parameter "+e);return c}var Uc=[];function Vc(a){var b=Array(a+1);return function(c,e,f){b[0]=c;for(var k=0;k<a;++k){var l=Lc(G[(e>>2)+k],"parameter "+k);b[k+1]=l.readValueFromPointer(f);f+=l.argPackAdvance}c=new (c.bind.apply(c,b));return jc(c)}}var Wc={},Xc;Xc=sa?()=>{var a=process.hrtime();return 1E3*a[0]+a[1]/1E6}:()=>performance.now();
function Yc(a){var b=a.getExtension("ANGLE_instanced_arrays");b&&(a.vertexAttribDivisor=function(c,e){b.vertexAttribDivisorANGLE(c,e)},a.drawArraysInstanced=function(c,e,f,k){b.drawArraysInstancedANGLE(c,e,f,k)},a.drawElementsInstanced=function(c,e,f,k,l){b.drawElementsInstancedANGLE(c,e,f,k,l)})}
function Zc(a){var b=a.getExtension("OES_vertex_array_object");b&&(a.createVertexArray=function(){return b.createVertexArrayOES()},a.deleteVertexArray=function(c){b.deleteVertexArrayOES(c)},a.bindVertexArray=function(c){b.bindVertexArrayOES(c)},a.isVertexArray=function(c){return b.isVertexArrayOES(c)})}function $c(a){var b=a.getExtension("WEBGL_draw_buffers");b&&(a.drawBuffers=function(c,e){b.drawBuffersWEBGL(c,e)})}
var ad=1,bd=[],cd=[],dd=[],ed=[],fa=[],fd=[],gd=[],ja=[],hd=[],jd=[],kd={},ld={},md=4;function W(a){nd||(nd=a)}function ea(a){for(var b=ad++,c=a.length;c<b;c++)a[c]=null;return b}function ha(a,b){a.Ge||(a.Ge=a.getContext,a.getContext=function(e,f){f=a.Ge(e,f);return"webgl"==e==f instanceof WebGLRenderingContext?f:null});var c=1<b.majorVersion?a.getContext("webgl2",b):a.getContext("webgl",b);return c?pd(c,b):0}
function pd(a,b){var c=ea(ja),e={ef:c,attributes:b,version:b.majorVersion,Ud:a};a.canvas&&(a.canvas.Le=e);ja[c]=e;("undefined"===typeof b.Xe||b.Xe)&&qd(e);return c}function ia(a){u=ja[a];r.Df=X=u&&u.Ud;return!(a&&!X)}
function qd(a){a||(a=u);if(!a.hf){a.hf=!0;var b=a.Ud;Yc(b);Zc(b);$c(b);b.De=b.getExtension("WEBGL_draw_instanced_base_vertex_base_instance");b.He=b.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance");2<=a.version&&(b.Ee=b.getExtension("EXT_disjoint_timer_query_webgl2"));if(2>a.version||!b.Ee)b.Ee=b.getExtension("EXT_disjoint_timer_query");b.Ff=b.getExtension("WEBGL_multi_draw");(b.getSupportedExtensions()||[]).forEach(function(c){c.includes("lose_context")||c.includes("debug")||b.getExtension(c)})}}
var u,nd,rd=[];function sd(a,b,c,e){for(var f=0;f<a;f++){var k=X[c](),l=k&&ea(e);k?(k.name=l,e[l]=k):W(1282);G[b+4*f>>2]=l}}
function td(a,b,c){if(b){var e=void 0;switch(a){case 36346:e=1;break;case 36344:0!=c&&1!=c&&W(1280);return;case 34814:case 36345:e=0;break;case 34466:var f=X.getParameter(34467);e=f?f.length:0;break;case 33309:if(2>u.version){W(1282);return}e=2*(X.getSupportedExtensions()||[]).length;break;case 33307:case 33308:if(2>u.version){W(1280);return}e=33307==a?3:0}if(void 0===e)switch(f=X.getParameter(a),typeof f){case "number":e=f;break;case "boolean":e=f?1:0;break;case "string":W(1280);return;case "object":if(null===
f)switch(a){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:e=0;break;default:W(1280);return}else{if(f instanceof Float32Array||f instanceof Uint32Array||f instanceof Int32Array||f instanceof Array){for(a=0;a<f.length;++a)switch(c){case 0:G[b+4*a>>2]=f[a];break;case 2:N[b+4*a>>2]=f[a];break;case 4:ab[b+a>>0]=f[a]?1:0}return}try{e=f.name|0}catch(k){W(1280);
Fa("GL_INVALID_ENUM in glGet"+c+"v: Unknown object returned from WebGL getParameter("+a+")! (error: "+k+")");return}}break;default:W(1280);Fa("GL_INVALID_ENUM in glGet"+c+"v: Native code calling glGet"+c+"v("+a+") and it returns "+f+" of type "+typeof f+"!");return}switch(c){case 1:c=e;J[b>>2]=c;J[b+4>>2]=(c-J[b>>2])/4294967296;break;case 0:G[b>>2]=e;break;case 2:N[b>>2]=e;break;case 4:ab[b>>0]=e?1:0}}else W(1281)}function ud(a){var b=ka(a)+1,c=vd(b);la(a,B,c,b);return c}
function wd(a){return"]"==a.slice(-1)&&a.lastIndexOf("[")}function xd(a){a-=5120;return 0==a?ab:1==a?B:2==a?Ua:4==a?G:6==a?N:5==a||28922==a||28520==a||30779==a||30782==a?J:Ta}function yd(a,b,c,e,f){a=xd(a);var k=31-Math.clz32(a.BYTES_PER_ELEMENT),l=md;return a.subarray(f>>k,f+e*(c*({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[b-6402]||1)*(1<<k)+l-1&-l)>>k)}
function Y(a){var b=X.Te;if(b){var c=b.ie[a];"number"===typeof c&&(b.ie[a]=c=X.getUniformLocation(b,b.Je[a]+(0<c?"["+c+"]":"")));return c}W(1282)}var zd=[],Ad=[],Bd={};
function Cd(){if(!Dd){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"===typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:na||"./this.program"},b;for(b in Bd)void 0===Bd[b]?delete a[b]:a[b]=Bd[b];var c=[];for(b in a)c.push(b+"="+a[b]);Dd=c}return Dd}var Dd;function Ed(a){return 0===a%4&&(0!==a%100||0===a%400)}function Fd(a,b){for(var c=0,e=0;e<=b;c+=a[e++]);return c}
var Gd=[31,29,31,30,31,30,31,31,30,31,30,31],Hd=[31,28,31,30,31,30,31,31,30,31,30,31];function Id(a,b){for(a=new Date(a.getTime());0<b;){var c=a.getMonth(),e=(Ed(a.getFullYear())?Gd:Hd)[c];if(b>e-a.getDate())b-=e-a.getDate()+1,a.setDate(1),11>c?a.setMonth(c+1):(a.setMonth(0),a.setFullYear(a.getFullYear()+1));else{a.setDate(a.getDate()+b);break}}return a}
function Jd(a,b,c,e){function f(v,D,I){for(v="number"===typeof v?v.toString():v||"";v.length<D;)v=I[0]+v;return v}function k(v,D){return f(v,D,"0")}function l(v,D){function I(Z){return 0>Z?-1:0<Z?1:0}var R;0===(R=I(v.getFullYear()-D.getFullYear()))&&0===(R=I(v.getMonth()-D.getMonth()))&&(R=I(v.getDate()-D.getDate()));return R}function n(v){switch(v.getDay()){case 0:return new Date(v.getFullYear()-1,11,29);case 1:return v;case 2:return new Date(v.getFullYear(),0,3);case 3:return new Date(v.getFullYear(),
0,2);case 4:return new Date(v.getFullYear(),0,1);case 5:return new Date(v.getFullYear()-1,11,31);case 6:return new Date(v.getFullYear()-1,11,30)}}function q(v){v=Id(new Date(v.Qd+1900,0,1),v.te);var D=new Date(v.getFullYear()+1,0,4),I=n(new Date(v.getFullYear(),0,4));D=n(D);return 0>=l(I,v)?0>=l(D,v)?v.getFullYear()+1:v.getFullYear():v.getFullYear()-1}var x=G[e+40>>2];e={Bf:G[e>>2],Af:G[e+4>>2],re:G[e+8>>2],he:G[e+12>>2],ce:G[e+16>>2],Qd:G[e+20>>2],se:G[e+24>>2],te:G[e+28>>2],Jf:G[e+32>>2],zf:G[e+
36>>2],Cf:x?Pa(x):""};c=Pa(c);x={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var y in x)c=c.replace(new RegExp(y,"g"),x[y]);var C="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),
E="January February March April May June July August September October November December".split(" ");x={"%a":function(v){return C[v.se].substring(0,3)},"%A":function(v){return C[v.se]},"%b":function(v){return E[v.ce].substring(0,3)},"%B":function(v){return E[v.ce]},"%C":function(v){return k((v.Qd+1900)/100|0,2)},"%d":function(v){return k(v.he,2)},"%e":function(v){return f(v.he,2," ")},"%g":function(v){return q(v).toString().substring(2)},"%G":function(v){return q(v)},"%H":function(v){return k(v.re,
2)},"%I":function(v){v=v.re;0==v?v=12:12<v&&(v-=12);return k(v,2)},"%j":function(v){return k(v.he+Fd(Ed(v.Qd+1900)?Gd:Hd,v.ce-1),3)},"%m":function(v){return k(v.ce+1,2)},"%M":function(v){return k(v.Af,2)},"%n":function(){return"\n"},"%p":function(v){return 0<=v.re&&12>v.re?"AM":"PM"},"%S":function(v){return k(v.Bf,2)},"%t":function(){return"\t"},"%u":function(v){return v.se||7},"%U":function(v){var D=new Date(v.Qd+1900,0,1),I=0===D.getDay()?D:Id(D,7-D.getDay());v=new Date(v.Qd+1900,v.ce,v.he);return 0>
l(I,v)?k(Math.ceil((31-I.getDate()+(Fd(Ed(v.getFullYear())?Gd:Hd,v.getMonth()-1)-31)+v.getDate())/7),2):0===l(I,D)?"01":"00"},"%V":function(v){var D=new Date(v.Qd+1901,0,4),I=n(new Date(v.Qd+1900,0,4));D=n(D);var R=Id(new Date(v.Qd+1900,0,1),v.te);return 0>l(R,I)?"53":0>=l(D,R)?"01":k(Math.ceil((I.getFullYear()<v.Qd+1900?v.te+32-I.getDate():v.te+1-I.getDate())/7),2)},"%w":function(v){return v.se},"%W":function(v){var D=new Date(v.Qd,0,1),I=1===D.getDay()?D:Id(D,0===D.getDay()?1:7-D.getDay()+1);v=
new Date(v.Qd+1900,v.ce,v.he);return 0>l(I,v)?k(Math.ceil((31-I.getDate()+(Fd(Ed(v.getFullYear())?Gd:Hd,v.getMonth()-1)-31)+v.getDate())/7),2):0===l(I,D)?"01":"00"},"%y":function(v){return(v.Qd+1900).toString().substring(2)},"%Y":function(v){return v.Qd+1900},"%z":function(v){v=v.zf;var D=0<=v;v=Math.abs(v)/60;return(D?"+":"-")+String("0000"+(v/60*100+v%60)).slice(-4)},"%Z":function(v){return v.Cf},"%%":function(){return"%"}};for(y in x)c.includes(y)&&(c=c.replace(new RegExp(y,"g"),x[y](e)));y=Kd(c);
if(y.length>b)return 0;ab.set(y,a);return y.length-1}Mb=r.InternalError=Fb("InternalError");for(var Ld=Array(256),Md=0;256>Md;++Md)Ld[Md]=String.fromCharCode(Md);Rb=Ld;Sb=r.BindingError=Fb("BindingError");ac.prototype.isAliasOf=function(a){if(!(this instanceof ac&&a instanceof ac))return!1;var b=this.Hd.Nd.Ld,c=this.Hd.Kd,e=a.Hd.Nd.Ld;for(a=a.Hd.Kd;b.Vd;)c=b.je(c),b=b.Vd;for(;e.Vd;)a=e.je(a),e=e.Vd;return b===e&&c===a};
ac.prototype.clone=function(){this.Hd.Kd||Tb(this);if(this.Hd.ge)return this.Hd.count.value+=1,this;var a=Xb,b=Object,c=b.create,e=Object.getPrototypeOf(this),f=this.Hd;a=a(c.call(b,e,{Hd:{value:{count:f.count,ae:f.ae,ge:f.ge,Kd:f.Kd,Nd:f.Nd,Pd:f.Pd,Td:f.Td}}}));a.Hd.count.value+=1;a.Hd.ae=!1;return a};ac.prototype["delete"]=function(){this.Hd.Kd||Tb(this);this.Hd.ae&&!this.Hd.ge&&Q("Object already scheduled for deletion");Vb(this);Wb(this.Hd);this.Hd.ge||(this.Hd.Pd=void 0,this.Hd.Kd=void 0)};
ac.prototype.isDeleted=function(){return!this.Hd.Kd};ac.prototype.deleteLater=function(){this.Hd.Kd||Tb(this);this.Hd.ae&&!this.Hd.ge&&Q("Object already scheduled for deletion");Zb.push(this);1===Zb.length&&Yb&&Yb($b);this.Hd.ae=!0;return this};wc.prototype.$e=function(a){this.Ie&&(a=this.Ie(a));return a};wc.prototype.Ce=function(a){this.Wd&&this.Wd(a)};wc.prototype.argPackAdvance=8;wc.prototype.readValueFromPointer=zb;wc.prototype.deleteObject=function(a){if(null!==a)a["delete"]()};
wc.prototype.fromWireType=function(a){function b(){return this.ne?oc(this.Ld.be,{Nd:this.mf,Kd:c,Td:this,Pd:a}):oc(this.Ld.be,{Nd:this,Kd:a})}var c=this.$e(a);if(!c)return this.Ce(a),null;var e=nc(this.Ld,c);if(void 0!==e){if(0===e.Hd.count.value)return e.Hd.Kd=c,e.Hd.Pd=a,e.clone();e=e.clone();this.Ce(a);return e}e=this.Ld.Ze(c);e=bc[e];if(!e)return b.call(this);e=this.me?e.Se:e.pointerType;var f=lc(c,this.Ld,e.Ld);return null===f?b.call(this):this.ne?oc(e.Ld.be,{Nd:e,Kd:f,Td:this,Pd:a}):oc(e.Ld.be,
{Nd:e,Kd:f})};r.getInheritedInstanceCount=function(){return Object.keys(mc).length};r.getLiveInheritedInstances=function(){var a=[],b;for(b in mc)mc.hasOwnProperty(b)&&a.push(mc[b]);return a};r.flushPendingDeletes=$b;r.setDelayFunction=function(a){Yb=a;Zb.length&&Yb&&Yb($b)};zc=r.UnboundTypeError=Fb("UnboundTypeError");r.count_emval_handles=function(){for(var a=0,b=5;b<Hc.length;++b)void 0!==Hc[b]&&++a;return a};
r.get_first_emval=function(){for(var a=5;a<Hc.length;++a)if(void 0!==Hc[a])return Hc[a];return null};for(var X,Nd=0;32>Nd;++Nd)rd.push(Array(Nd));var Od=new Float32Array(288);for(Nd=0;288>Nd;++Nd)zd[Nd]=Od.subarray(0,Nd+1);var Pd=new Int32Array(288);for(Nd=0;288>Nd;++Nd)Ad[Nd]=Pd.subarray(0,Nd+1);function Kd(a){var b=Array(ka(a)+1);la(a,b,0,b.length);return b}
var ee={K:function(a){return vd(a+16)+16},J:function(a,b,c){(new sb(a)).gf(b,c);tb++;throw a;},W:function(){return 0},tb:function(){},rb:function(){},vb:function(){return 0},ob:function(a,b,c,e,f,k){k<<=12;if(0!==(e&16)&&0!==a%65536)b=-28;else if(0!==(e&32)){a=65536*Math.ceil(b/65536);var l=Qd(65536,a);l?(B.fill(0,l,l+a),a=l):a=0;a?(ub[a]={lf:a,kf:b,Re:!0,fd:f,Hf:c,flags:e,offset:k},b=a):b=-48}else b=-52;return b},nb:function(a,b){var c=ub[a];0!==b&&c?(b===c.kf&&(ub[a]=null,c.Re&&Cc(c.lf)),a=0):a=
-28;return a},wb:function(){},sb:function(){},C:function(a){var b=xb[a];delete xb[a];var c=b.ze,e=b.Wd,f=b.Fe,k=f.map(function(l){return l.df}).concat(f.map(function(l){return l.wf}));Ob([a],k,function(l){var n={};f.forEach(function(q,x){var y=l[x],C=q.bf,E=q.cf,v=l[x+f.length],D=q.vf,I=q.xf;n[q.Ye]={read:function(R){return y.fromWireType(C(E,R))},write:function(R,Z){var da=[];D(I,R,v.toWireType(da,Z));yb(da)}}});return[{name:b.name,fromWireType:function(q){var x={},y;for(y in n)x[y]=n[y].read(q);
e(q);return x},toWireType:function(q,x){for(var y in n)if(!(y in x))throw new TypeError('Missing field: "'+y+'"');var C=c();for(y in n)n[y].write(C,x[y]);null!==q&&q.push(e,C);return C},argPackAdvance:8,readValueFromPointer:zb,Sd:e}]})},ib:function(){},yb:function(a,b,c,e,f){var k=Qb(c);b=P(b);Pb(a,{name:b,fromWireType:function(l){return!!l},toWireType:function(l,n){return n?e:f},argPackAdvance:8,readValueFromPointer:function(l){if(1===c)var n=ab;else if(2===c)n=Ua;else if(4===c)n=G;else throw new TypeError("Unknown boolean type size: "+
b);return this.fromWireType(n[l>>k])},Sd:null})},n:function(a,b,c,e,f,k,l,n,q,x,y,C,E){y=P(y);k=T(f,k);n&&(n=T(l,n));x&&(x=T(q,x));E=T(C,E);var v=Db(y);dc(v,function(){Dc("Cannot construct "+y+" due to unbound types",[e])});Ob([a,b,c],e?[e]:[],function(D){D=D[0];if(e){var I=D.Ld;var R=I.be}else R=ac.prototype;D=Eb(v,function(){if(Object.getPrototypeOf(this)!==Z)throw new Sb("Use 'new' to construct "+y);if(void 0===da.Xd)throw new Sb(y+" has no accessible constructor");var Ma=da.Xd[arguments.length];
if(void 0===Ma)throw new Sb("Tried to invoke ctor of "+y+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(da.Xd).toString()+") parameters instead!");return Ma.apply(this,arguments)});var Z=Object.create(R,{constructor:{value:D}});D.prototype=Z;var da=new ec(y,D,Z,E,I,k,n,x);I=new wc(y,da,!0,!1,!1);R=new wc(y+"*",da,!1,!1,!1);var ua=new wc(y+" const*",da,!1,!0,!1);bc[a]={pointerType:R,Se:ua};xc(v,D);return[I,R,ua]})},g:function(a,b,c,e,f,k,l){var n=Fc(c,e);b=P(b);
k=T(f,k);Ob([],[a],function(q){function x(){Dc("Cannot call "+y+" due to unbound types",n)}q=q[0];var y=q.name+"."+b;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);var C=q.Ld.constructor;void 0===C[b]?(x.Zd=c-1,C[b]=x):(cc(C,b,y),C[b].Od[c-1]=x);Ob([],n,function(E){E=[E[0],null].concat(E.slice(1));E=Ec(y,E,null,k,l);void 0===C[b].Od?(E.Zd=c-1,C[b]=E):C[b].Od[c-1]=E;return[]});return[]})},A:function(a,b,c,e,f,k){0<b||Ja(void 0);var l=Fc(b,c);f=T(e,f);Ob([],[a],function(n){n=n[0];var q="constructor "+
n.name;void 0===n.Ld.Xd&&(n.Ld.Xd=[]);if(void 0!==n.Ld.Xd[b-1])throw new Sb("Cannot register multiple constructors with identical number of parameters ("+(b-1)+") for class '"+n.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");n.Ld.Xd[b-1]=()=>{Dc("Cannot construct "+n.name+" due to unbound types",l)};Ob([],l,function(x){x.splice(1,0,null);n.Ld.Xd[b-1]=Ec(q,x,null,f,k);return[]});return[]})},a:function(a,b,c,e,f,k,l,n){var q=Fc(c,e);b=P(b);
k=T(f,k);Ob([],[a],function(x){function y(){Dc("Cannot call "+C+" due to unbound types",q)}x=x[0];var C=x.name+"."+b;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);n&&x.Ld.nf.push(b);var E=x.Ld.be,v=E[b];void 0===v||void 0===v.Od&&v.className!==x.name&&v.Zd===c-2?(y.Zd=c-2,y.className=x.name,E[b]=y):(cc(E,b,C),E[b].Od[c-2]=y);Ob([],q,function(D){D=Ec(C,D,x,k,l);void 0===E[b].Od?(D.Zd=c-2,E[b]=D):E[b].Od[c-2]=D;return[]});return[]})},s:function(a,b,c){a=P(a);Ob([],[b],function(e){e=e[0];r[a]=e.fromWireType(c);
return[]})},xb:function(a,b){b=P(b);Pb(a,{name:b,fromWireType:function(c){var e=Jc(c);Ic(c);return e},toWireType:function(c,e){return jc(e)},argPackAdvance:8,readValueFromPointer:zb,Sd:null})},k:function(a,b,c,e){function f(){}c=Qb(c);b=P(b);f.values={};Pb(a,{name:b,constructor:f,fromWireType:function(k){return this.constructor.values[k]},toWireType:function(k,l){return l.value},argPackAdvance:8,readValueFromPointer:Kc(b,c,e),Sd:null});dc(b,f)},d:function(a,b,c){var e=Lc(a,"enum");b=P(b);a=e.constructor;
e=Object.create(e.constructor.prototype,{value:{value:c},constructor:{value:Eb(e.name+"_"+b,function(){})}});a.values[c]=e;a[b]=e},Z:function(a,b,c){c=Qb(c);b=P(b);Pb(a,{name:b,fromWireType:function(e){return e},toWireType:function(e,f){return f},argPackAdvance:8,readValueFromPointer:Mc(b,c),Sd:null})},v:function(a,b,c,e,f,k){var l=Fc(b,c);a=P(a);f=T(e,f);dc(a,function(){Dc("Cannot call "+a+" due to unbound types",l)},b-1);Ob([],l,function(n){n=[n[0],null].concat(n.slice(1));xc(a,Ec(a,n,null,f,k),
b-1);return[]})},E:function(a,b,c,e,f){b=P(b);-1===f&&(f=4294967295);f=Qb(c);var k=n=>n;if(0===e){var l=32-8*c;k=n=>n<<l>>>l}c=b.includes("unsigned")?function(n,q){return q>>>0}:function(n,q){return q};Pb(a,{name:b,fromWireType:k,toWireType:c,argPackAdvance:8,readValueFromPointer:Nc(b,f,0!==e),Sd:null})},u:function(a,b,c){function e(k){k>>=2;var l=J;return new f($a,l[k+1],l[k])}var f=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=P(c);Pb(a,{name:c,
fromWireType:e,argPackAdvance:8,readValueFromPointer:e},{ff:!0})},r:function(a,b,c,e,f,k,l,n,q,x,y,C){c=P(c);k=T(f,k);n=T(l,n);x=T(q,x);C=T(y,C);Ob([a],[b],function(E){E=E[0];return[new wc(c,E.Ld,!1,!1,!0,E,e,k,n,x,C)]})},Y:function(a,b){b=P(b);var c="std::string"===b;Pb(a,{name:b,fromWireType:function(e){var f=J[e>>2];if(c)for(var k=e+4,l=0;l<=f;++l){var n=e+4+l;if(l==f||0==B[n]){k=Pa(k,n-k);if(void 0===q)var q=k;else q+=String.fromCharCode(0),q+=k;k=n+1}}else{q=Array(f);for(l=0;l<f;++l)q[l]=String.fromCharCode(B[e+
4+l]);q=q.join("")}Cc(e);return q},toWireType:function(e,f){f instanceof ArrayBuffer&&(f=new Uint8Array(f));var k="string"===typeof f;k||f instanceof Uint8Array||f instanceof Uint8ClampedArray||f instanceof Int8Array||Q("Cannot pass non-string to std::string");var l=(c&&k?()=>ka(f):()=>f.length)(),n=vd(4+l+1);J[n>>2]=l;if(c&&k)la(f,B,n+4,l+1);else if(k)for(k=0;k<l;++k){var q=f.charCodeAt(k);255<q&&(Cc(n),Q("String has UTF-16 code units that do not fit in 8 bits"));B[n+4+k]=q}else for(k=0;k<l;++k)B[n+
4+k]=f[k];null!==e&&e.push(Cc,n);return n},argPackAdvance:8,readValueFromPointer:zb,Sd:function(e){Cc(e)}})},Q:function(a,b,c){c=P(c);if(2===b){var e=Sa;var f=Va;var k=Wa;var l=()=>Ta;var n=1}else 4===b&&(e=Xa,f=Ya,k=Za,l=()=>J,n=2);Pb(a,{name:c,fromWireType:function(q){for(var x=J[q>>2],y=l(),C,E=q+4,v=0;v<=x;++v){var D=q+4+v*b;if(v==x||0==y[D>>n])E=e(E,D-E),void 0===C?C=E:(C+=String.fromCharCode(0),C+=E),E=D+b}Cc(q);return C},toWireType:function(q,x){"string"!==typeof x&&Q("Cannot pass non-string to C++ string type "+
c);var y=k(x),C=vd(4+y+b);J[C>>2]=y>>n;f(x,C+4,y+b);null!==q&&q.push(Cc,C);return C},argPackAdvance:8,readValueFromPointer:zb,Sd:function(q){Cc(q)}})},D:function(a,b,c,e,f,k){xb[a]={name:P(b),ze:T(c,e),Wd:T(f,k),Fe:[]}},f:function(a,b,c,e,f,k,l,n,q,x){xb[a].Fe.push({Ye:P(b),df:c,bf:T(e,f),cf:k,wf:l,vf:T(n,q),xf:x})},zb:function(a,b){b=P(b);Pb(a,{jf:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},lb:function(){throw"longjmp";},I:function(a,b,c){a=Jc(a);b=Lc(b,"emval::as");
var e=[],f=jc(e);G[c>>2]=f;return b.toWireType(e,a)},L:function(a,b,c,e,f){a=Qc[a];b=Jc(b);c=Pc(c);var k=[];G[e>>2]=jc(k);return a(b,c,k,f)},B:function(a,b,c,e){a=Qc[a];b=Jc(b);c=Pc(c);a(b,c,null,e)},e:Ic,N:function(a){if(0===a)return jc(Rc());a=Pc(a);return jc(Rc()[a])},w:function(a,b){var c=Tc(a,b),e=c[0];b=e.name+"_$"+c.slice(1).map(function(l){return l.name}).join("_")+"$";var f=Uc[b];if(void 0!==f)return f;var k=Array(a-1);f=Sc((l,n,q,x)=>{for(var y=0,C=0;C<a-1;++C)k[C]=c[C+1].readValueFromPointer(x+
y),y+=c[C+1].argPackAdvance;l=l[n].apply(l,k);for(C=0;C<a-1;++C)c[C+1].Ue&&c[C+1].Ue(k[C]);if(!e.jf)return e.toWireType(q,l)});return Uc[b]=f},H:function(a,b){a=Jc(a);b=Jc(b);return jc(a[b])},p:function(a){4<a&&(Hc[a].Ae+=1)},M:function(a,b,c,e){a=Jc(a);var f=Wc[b];f||(f=Vc(b),Wc[b]=f);return f(a,c,e)},P:function(){return jc([])},h:function(a){return jc(Pc(a))},G:function(){return jc({})},eb:function(a){a=Jc(a);return!a},F:function(a){var b=Jc(a);yb(b);Ic(a)},j:function(a,b,c){a=Jc(a);b=Jc(b);c=Jc(c);
a[b]=c},i:function(a,b){a=Lc(a,"_emval_take_value");a=a.readValueFromPointer(b);return jc(a)},m:function(){Ja("")},kb:function(a,b){if(0===a)a=Date.now();else if(1===a||4===a)a=Xc();else return G[Rd()>>2]=28,-1;G[b>>2]=a/1E3|0;G[b+4>>2]=a%1E3*1E6|0;return 0},Sc:function(a){X.activeTexture(a)},Tc:function(a,b){X.attachShader(cd[a],fd[b])},Uc:function(a,b,c){X.bindAttribLocation(cd[a],b,Pa(c))},Vc:function(a,b){35051==a?X.we=b:35052==a&&(X.$d=b);X.bindBuffer(a,bd[b])},ca:function(a,b){X.bindFramebuffer(a,
dd[b])},Wb:function(a,b){X.bindRenderbuffer(a,ed[b])},Gb:function(a,b){X.bindSampler(a,hd[b])},Wc:function(a,b){X.bindTexture(a,fa[b])},oc:function(a){X.bindVertexArray(gd[a])},rc:function(a){X.bindVertexArray(gd[a])},Xc:function(a,b,c,e){X.blendColor(a,b,c,e)},Yc:function(a){X.blendEquation(a)},Zc:function(a,b){X.blendFunc(a,b)},Qb:function(a,b,c,e,f,k,l,n,q,x){X.blitFramebuffer(a,b,c,e,f,k,l,n,q,x)},_c:function(a,b,c,e){2<=u.version?c?X.bufferData(a,B,e,c,b):X.bufferData(a,b,e):X.bufferData(a,c?
B.subarray(c,c+b):b,e)},$c:function(a,b,c,e){2<=u.version?X.bufferSubData(a,b,B,e,c):X.bufferSubData(a,b,B.subarray(e,e+c))},Xb:function(a){return X.checkFramebufferStatus(a)},T:function(a){X.clear(a)},ba:function(a,b,c,e){X.clearColor(a,b,c,e)},V:function(a){X.clearStencil(a)},cb:function(a,b,c,e){return X.clientWaitSync(jd[a],b,(c>>>0)+4294967296*e)},ad:function(a,b,c,e){X.colorMask(!!a,!!b,!!c,!!e)},da:function(a){X.compileShader(fd[a])},ea:function(a,b,c,e,f,k,l,n){2<=u.version?X.$d?X.compressedTexImage2D(a,
b,c,e,f,k,l,n):X.compressedTexImage2D(a,b,c,e,f,k,B,n,l):X.compressedTexImage2D(a,b,c,e,f,k,n?B.subarray(n,n+l):null)},fa:function(a,b,c,e,f,k,l,n,q){2<=u.version?X.$d?X.compressedTexSubImage2D(a,b,c,e,f,k,l,n,q):X.compressedTexSubImage2D(a,b,c,e,f,k,l,B,q,n):X.compressedTexSubImage2D(a,b,c,e,f,k,l,q?B.subarray(q,q+n):null)},Ob:function(a,b,c,e,f){X.copyBufferSubData(a,b,c,e,f)},ga:function(a,b,c,e,f,k,l,n){X.copyTexSubImage2D(a,b,c,e,f,k,l,n)},ha:function(){var a=ea(cd),b=X.createProgram();b.name=
a;b.qe=b.oe=b.pe=0;b.Be=1;cd[a]=b;return a},ia:function(a){var b=ea(fd);fd[b]=X.createShader(a);return b},ja:function(a){X.cullFace(a)},ka:function(a,b){for(var c=0;c<a;c++){var e=G[b+4*c>>2],f=bd[e];f&&(X.deleteBuffer(f),f.name=0,bd[e]=null,e==X.we&&(X.we=0),e==X.$d&&(X.$d=0))}},Yb:function(a,b){for(var c=0;c<a;++c){var e=G[b+4*c>>2],f=dd[e];f&&(X.deleteFramebuffer(f),f.name=0,dd[e]=null)}},la:function(a){if(a){var b=cd[a];b?(X.deleteProgram(b),b.name=0,cd[a]=null):W(1281)}},Zb:function(a,b){for(var c=
0;c<a;c++){var e=G[b+4*c>>2],f=ed[e];f&&(X.deleteRenderbuffer(f),f.name=0,ed[e]=null)}},Hb:function(a,b){for(var c=0;c<a;c++){var e=G[b+4*c>>2],f=hd[e];f&&(X.deleteSampler(f),f.name=0,hd[e]=null)}},ma:function(a){if(a){var b=fd[a];b?(X.deleteShader(b),fd[a]=null):W(1281)}},Pb:function(a){if(a){var b=jd[a];b?(X.deleteSync(b),b.name=0,jd[a]=null):W(1281)}},na:function(a,b){for(var c=0;c<a;c++){var e=G[b+4*c>>2],f=fa[e];f&&(X.deleteTexture(f),f.name=0,fa[e]=null)}},pc:function(a,b){for(var c=0;c<a;c++){var e=
G[b+4*c>>2];X.deleteVertexArray(gd[e]);gd[e]=null}},sc:function(a,b){for(var c=0;c<a;c++){var e=G[b+4*c>>2];X.deleteVertexArray(gd[e]);gd[e]=null}},oa:function(a){X.depthMask(!!a)},pa:function(a){X.disable(a)},qa:function(a){X.disableVertexAttribArray(a)},ra:function(a,b,c){X.drawArrays(a,b,c)},mc:function(a,b,c,e){X.drawArraysInstanced(a,b,c,e)},kc:function(a,b,c,e,f){X.De.drawArraysInstancedBaseInstanceWEBGL(a,b,c,e,f)},ic:function(a,b){for(var c=rd[a],e=0;e<a;e++)c[e]=G[b+4*e>>2];X.drawBuffers(c)},
sa:function(a,b,c,e){X.drawElements(a,b,c,e)},nc:function(a,b,c,e,f){X.drawElementsInstanced(a,b,c,e,f)},lc:function(a,b,c,e,f,k,l){X.De.drawElementsInstancedBaseVertexBaseInstanceWEBGL(a,b,c,e,f,k,l)},cc:function(a,b,c,e,f,k){X.drawElements(a,e,f,k)},ta:function(a){X.enable(a)},ua:function(a){X.enableVertexAttribArray(a)},Mb:function(a,b){return(a=X.fenceSync(a,b))?(b=ea(jd),a.name=b,jd[b]=a,b):0},va:function(){X.finish()},wa:function(){X.flush()},_b:function(a,b,c,e){X.framebufferRenderbuffer(a,
b,c,ed[e])},$b:function(a,b,c,e,f){X.framebufferTexture2D(a,b,c,fa[e],f)},xa:function(a){X.frontFace(a)},ya:function(a,b){sd(a,b,"createBuffer",bd)},ac:function(a,b){sd(a,b,"createFramebuffer",dd)},bc:function(a,b){sd(a,b,"createRenderbuffer",ed)},Ib:function(a,b){sd(a,b,"createSampler",hd)},za:function(a,b){sd(a,b,"createTexture",fa)},qc:function(a,b){sd(a,b,"createVertexArray",gd)},tc:function(a,b){sd(a,b,"createVertexArray",gd)},Sb:function(a){X.generateMipmap(a)},Aa:function(a,b,c){c?G[c>>2]=
X.getBufferParameter(a,b):W(1281)},Ba:function(){var a=X.getError()||nd;nd=0;return a},Ca:function(a,b){td(a,b,2)},Tb:function(a,b,c,e){a=X.getFramebufferAttachmentParameter(a,b,c);if(a instanceof WebGLRenderbuffer||a instanceof WebGLTexture)a=a.name|0;G[e>>2]=a},O:function(a,b){td(a,b,0)},Da:function(a,b,c,e){a=X.getProgramInfoLog(cd[a]);null===a&&(a="(unknown error)");b=0<b&&e?la(a,B,e,b):0;c&&(G[c>>2]=b)},Ea:function(a,b,c){if(c)if(a>=ad)W(1281);else if(a=cd[a],35716==b)a=X.getProgramInfoLog(a),
null===a&&(a="(unknown error)"),G[c>>2]=a.length+1;else if(35719==b){if(!a.qe)for(b=0;b<X.getProgramParameter(a,35718);++b)a.qe=Math.max(a.qe,X.getActiveUniform(a,b).name.length+1);G[c>>2]=a.qe}else if(35722==b){if(!a.oe)for(b=0;b<X.getProgramParameter(a,35721);++b)a.oe=Math.max(a.oe,X.getActiveAttrib(a,b).name.length+1);G[c>>2]=a.oe}else if(35381==b){if(!a.pe)for(b=0;b<X.getProgramParameter(a,35382);++b)a.pe=Math.max(a.pe,X.getActiveUniformBlockName(a,b).length+1);G[c>>2]=a.pe}else G[c>>2]=X.getProgramParameter(a,
b);else W(1281)},Ub:function(a,b,c){c?G[c>>2]=X.getRenderbufferParameter(a,b):W(1281)},Fa:function(a,b,c,e){a=X.getShaderInfoLog(fd[a]);null===a&&(a="(unknown error)");b=0<b&&e?la(a,B,e,b):0;c&&(G[c>>2]=b)},Db:function(a,b,c,e){a=X.getShaderPrecisionFormat(a,b);G[c>>2]=a.rangeMin;G[c+4>>2]=a.rangeMax;G[e>>2]=a.precision},Ga:function(a,b,c){c?35716==b?(a=X.getShaderInfoLog(fd[a]),null===a&&(a="(unknown error)"),G[c>>2]=a?a.length+1:0):35720==b?(a=X.getShaderSource(fd[a]),G[c>>2]=a?a.length+1:0):G[c>>
2]=X.getShaderParameter(fd[a],b):W(1281)},S:function(a){var b=kd[a];if(!b){switch(a){case 7939:b=X.getSupportedExtensions()||[];b=b.concat(b.map(function(e){return"GL_"+e}));b=ud(b.join(" "));break;case 7936:case 7937:case 37445:case 37446:(b=X.getParameter(a))||W(1280);b=b&&ud(b);break;case 7938:b=X.getParameter(7938);b=2<=u.version?"OpenGL ES 3.0 ("+b+")":"OpenGL ES 2.0 ("+b+")";b=ud(b);break;case 35724:b=X.getParameter(35724);var c=b.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==
c&&(3==c[1].length&&(c[1]+="0"),b="OpenGL ES GLSL ES "+c[1]+" ("+b+")");b=ud(b);break;default:W(1280)}kd[a]=b}return b},bb:function(a,b){if(2>u.version)return W(1282),0;var c=ld[a];if(c)return 0>b||b>=c.length?(W(1281),0):c[b];switch(a){case 7939:return c=X.getSupportedExtensions()||[],c=c.concat(c.map(function(e){return"GL_"+e})),c=c.map(function(e){return ud(e)}),c=ld[a]=c,0>b||b>=c.length?(W(1281),0):c[b];default:return W(1280),0}},Ha:function(a,b){b=Pa(b);if(a=cd[a]){var c=a,e=c.ie,f=c.Ke,k;if(!e)for(c.ie=
e={},c.Je={},k=0;k<X.getProgramParameter(c,35718);++k){var l=X.getActiveUniform(c,k);var n=l.name;l=l.size;var q=wd(n);q=0<q?n.slice(0,q):n;var x=c.Be;c.Be+=l;f[q]=[l,x];for(n=0;n<l;++n)e[x]=n,c.Je[x++]=q}c=a.ie;e=0;f=b;k=wd(b);0<k&&(e=parseInt(b.slice(k+1))>>>0,f=b.slice(0,k));if((f=a.Ke[f])&&e<f[0]&&(e+=f[1],c[e]=c[e]||X.getUniformLocation(a,b)))return e}else W(1281);return-1},Eb:function(a,b,c){for(var e=rd[b],f=0;f<b;f++)e[f]=G[c+4*f>>2];X.invalidateFramebuffer(a,e)},Fb:function(a,b,c,e,f,k,l){for(var n=
rd[b],q=0;q<b;q++)n[q]=G[c+4*q>>2];X.invalidateSubFramebuffer(a,n,e,f,k,l)},Nb:function(a){return X.isSync(jd[a])},Ia:function(a){return(a=fa[a])?X.isTexture(a):0},Ja:function(a){X.lineWidth(a)},Ka:function(a){a=cd[a];X.linkProgram(a);a.ie=0;a.Ke={}},gc:function(a,b,c,e,f,k){X.He.multiDrawArraysInstancedBaseInstanceWEBGL(a,G,b>>2,G,c>>2,G,e>>2,J,f>>2,k)},hc:function(a,b,c,e,f,k,l,n){X.He.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(a,G,b>>2,c,G,e>>2,G,f>>2,G,k>>2,J,l>>2,n)},La:function(a,
b){3317==a&&(md=b);X.pixelStorei(a,b)},jc:function(a){X.readBuffer(a)},Ma:function(a,b,c,e,f,k,l){if(2<=u.version)if(X.we)X.readPixels(a,b,c,e,f,k,l);else{var n=xd(k);X.readPixels(a,b,c,e,f,k,n,l>>31-Math.clz32(n.BYTES_PER_ELEMENT))}else(l=yd(k,f,c,e,l))?X.readPixels(a,b,c,e,f,k,l):W(1280)},Vb:function(a,b,c,e){X.renderbufferStorage(a,b,c,e)},Rb:function(a,b,c,e,f){X.renderbufferStorageMultisample(a,b,c,e,f)},Jb:function(a,b,c){X.samplerParameterf(hd[a],b,c)},Kb:function(a,b,c){X.samplerParameteri(hd[a],
b,c)},Lb:function(a,b,c){X.samplerParameteri(hd[a],b,G[c>>2])},Na:function(a,b,c,e){X.scissor(a,b,c,e)},Oa:function(a,b,c,e){for(var f="",k=0;k<b;++k){var l=e?G[e+4*k>>2]:-1;f+=Pa(G[c+4*k>>2],0>l?void 0:l)}X.shaderSource(fd[a],f)},Pa:function(a,b,c){X.stencilFunc(a,b,c)},Qa:function(a,b,c,e){X.stencilFuncSeparate(a,b,c,e)},Ra:function(a){X.stencilMask(a)},Sa:function(a,b){X.stencilMaskSeparate(a,b)},Ta:function(a,b,c){X.stencilOp(a,b,c)},Ua:function(a,b,c,e){X.stencilOpSeparate(a,b,c,e)},Va:function(a,
b,c,e,f,k,l,n,q){if(2<=u.version)if(X.$d)X.texImage2D(a,b,c,e,f,k,l,n,q);else if(q){var x=xd(n);X.texImage2D(a,b,c,e,f,k,l,n,x,q>>31-Math.clz32(x.BYTES_PER_ELEMENT))}else X.texImage2D(a,b,c,e,f,k,l,n,null);else X.texImage2D(a,b,c,e,f,k,l,n,q?yd(n,l,e,f,q):null)},Wa:function(a,b,c){X.texParameterf(a,b,c)},Xa:function(a,b,c){X.texParameterf(a,b,N[c>>2])},Ya:function(a,b,c){X.texParameteri(a,b,c)},Za:function(a,b,c){X.texParameteri(a,b,G[c>>2])},dc:function(a,b,c,e,f){X.texStorage2D(a,b,c,e,f)},_a:function(a,
b,c,e,f,k,l,n,q){if(2<=u.version)if(X.$d)X.texSubImage2D(a,b,c,e,f,k,l,n,q);else if(q){var x=xd(n);X.texSubImage2D(a,b,c,e,f,k,l,n,x,q>>31-Math.clz32(x.BYTES_PER_ELEMENT))}else X.texSubImage2D(a,b,c,e,f,k,l,n,null);else x=null,q&&(x=yd(n,l,f,k,q)),X.texSubImage2D(a,b,c,e,f,k,l,n,x)},$a:function(a,b){X.uniform1f(Y(a),b)},ab:function(a,b,c){if(2<=u.version)X.uniform1fv(Y(a),N,c>>2,b);else{if(288>=b)for(var e=zd[b-1],f=0;f<b;++f)e[f]=N[c+4*f>>2];else e=N.subarray(c>>2,c+4*b>>2);X.uniform1fv(Y(a),e)}},
Oc:function(a,b){X.uniform1i(Y(a),b)},Pc:function(a,b,c){if(2<=u.version)X.uniform1iv(Y(a),G,c>>2,b);else{if(288>=b)for(var e=Ad[b-1],f=0;f<b;++f)e[f]=G[c+4*f>>2];else e=G.subarray(c>>2,c+4*b>>2);X.uniform1iv(Y(a),e)}},Qc:function(a,b,c){X.uniform2f(Y(a),b,c)},Rc:function(a,b,c){if(2<=u.version)X.uniform2fv(Y(a),N,c>>2,2*b);else{if(144>=b)for(var e=zd[2*b-1],f=0;f<2*b;f+=2)e[f]=N[c+4*f>>2],e[f+1]=N[c+(4*f+4)>>2];else e=N.subarray(c>>2,c+8*b>>2);X.uniform2fv(Y(a),e)}},Nc:function(a,b,c){X.uniform2i(Y(a),
b,c)},Mc:function(a,b,c){if(2<=u.version)X.uniform2iv(Y(a),G,c>>2,2*b);else{if(144>=b)for(var e=Ad[2*b-1],f=0;f<2*b;f+=2)e[f]=G[c+4*f>>2],e[f+1]=G[c+(4*f+4)>>2];else e=G.subarray(c>>2,c+8*b>>2);X.uniform2iv(Y(a),e)}},Lc:function(a,b,c,e){X.uniform3f(Y(a),b,c,e)},Kc:function(a,b,c){if(2<=u.version)X.uniform3fv(Y(a),N,c>>2,3*b);else{if(96>=b)for(var e=zd[3*b-1],f=0;f<3*b;f+=3)e[f]=N[c+4*f>>2],e[f+1]=N[c+(4*f+4)>>2],e[f+2]=N[c+(4*f+8)>>2];else e=N.subarray(c>>2,c+12*b>>2);X.uniform3fv(Y(a),e)}},Jc:function(a,
b,c,e){X.uniform3i(Y(a),b,c,e)},Ic:function(a,b,c){if(2<=u.version)X.uniform3iv(Y(a),G,c>>2,3*b);else{if(96>=b)for(var e=Ad[3*b-1],f=0;f<3*b;f+=3)e[f]=G[c+4*f>>2],e[f+1]=G[c+(4*f+4)>>2],e[f+2]=G[c+(4*f+8)>>2];else e=G.subarray(c>>2,c+12*b>>2);X.uniform3iv(Y(a),e)}},Hc:function(a,b,c,e,f){X.uniform4f(Y(a),b,c,e,f)},Gc:function(a,b,c){if(2<=u.version)X.uniform4fv(Y(a),N,c>>2,4*b);else{if(72>=b){var e=zd[4*b-1],f=N;c>>=2;for(var k=0;k<4*b;k+=4){var l=c+k;e[k]=f[l];e[k+1]=f[l+1];e[k+2]=f[l+2];e[k+3]=
f[l+3]}}else e=N.subarray(c>>2,c+16*b>>2);X.uniform4fv(Y(a),e)}},uc:function(a,b,c,e,f){X.uniform4i(Y(a),b,c,e,f)},vc:function(a,b,c){if(2<=u.version)X.uniform4iv(Y(a),G,c>>2,4*b);else{if(72>=b)for(var e=Ad[4*b-1],f=0;f<4*b;f+=4)e[f]=G[c+4*f>>2],e[f+1]=G[c+(4*f+4)>>2],e[f+2]=G[c+(4*f+8)>>2],e[f+3]=G[c+(4*f+12)>>2];else e=G.subarray(c>>2,c+16*b>>2);X.uniform4iv(Y(a),e)}},wc:function(a,b,c,e){if(2<=u.version)X.uniformMatrix2fv(Y(a),!!c,N,e>>2,4*b);else{if(72>=b)for(var f=zd[4*b-1],k=0;k<4*b;k+=4)f[k]=
N[e+4*k>>2],f[k+1]=N[e+(4*k+4)>>2],f[k+2]=N[e+(4*k+8)>>2],f[k+3]=N[e+(4*k+12)>>2];else f=N.subarray(e>>2,e+16*b>>2);X.uniformMatrix2fv(Y(a),!!c,f)}},xc:function(a,b,c,e){if(2<=u.version)X.uniformMatrix3fv(Y(a),!!c,N,e>>2,9*b);else{if(32>=b)for(var f=zd[9*b-1],k=0;k<9*b;k+=9)f[k]=N[e+4*k>>2],f[k+1]=N[e+(4*k+4)>>2],f[k+2]=N[e+(4*k+8)>>2],f[k+3]=N[e+(4*k+12)>>2],f[k+4]=N[e+(4*k+16)>>2],f[k+5]=N[e+(4*k+20)>>2],f[k+6]=N[e+(4*k+24)>>2],f[k+7]=N[e+(4*k+28)>>2],f[k+8]=N[e+(4*k+32)>>2];else f=N.subarray(e>>
2,e+36*b>>2);X.uniformMatrix3fv(Y(a),!!c,f)}},yc:function(a,b,c,e){if(2<=u.version)X.uniformMatrix4fv(Y(a),!!c,N,e>>2,16*b);else{if(18>=b){var f=zd[16*b-1],k=N;e>>=2;for(var l=0;l<16*b;l+=16){var n=e+l;f[l]=k[n];f[l+1]=k[n+1];f[l+2]=k[n+2];f[l+3]=k[n+3];f[l+4]=k[n+4];f[l+5]=k[n+5];f[l+6]=k[n+6];f[l+7]=k[n+7];f[l+8]=k[n+8];f[l+9]=k[n+9];f[l+10]=k[n+10];f[l+11]=k[n+11];f[l+12]=k[n+12];f[l+13]=k[n+13];f[l+14]=k[n+14];f[l+15]=k[n+15]}}else f=N.subarray(e>>2,e+64*b>>2);X.uniformMatrix4fv(Y(a),!!c,f)}},
zc:function(a){a=cd[a];X.useProgram(a);X.Te=a},Ac:function(a,b){X.vertexAttrib1f(a,b)},Bc:function(a,b){X.vertexAttrib2f(a,N[b>>2],N[b+4>>2])},Cc:function(a,b){X.vertexAttrib3f(a,N[b>>2],N[b+4>>2],N[b+8>>2])},Dc:function(a,b){X.vertexAttrib4f(a,N[b>>2],N[b+4>>2],N[b+8>>2],N[b+12>>2])},ec:function(a,b){X.vertexAttribDivisor(a,b)},fc:function(a,b,c,e,f){X.vertexAttribIPointer(a,b,c,e,f)},Ec:function(a,b,c,e,f,k){X.vertexAttribPointer(a,b,c,!!e,f,k)},Fc:function(a,b,c,e){X.viewport(a,b,c,e)},db:function(a,
b,c,e){X.waitSync(jd[a],b,(c>>>0)+4294967296*e)},mb:function(a){var b=B.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var e=b*(1+.2/c);e=Math.min(e,a+100663296);e=Math.max(a,e);0<e%65536&&(e+=65536-e%65536);a:{try{Ka.grow(Math.min(2147483648,e)-$a.byteLength+65535>>>16);cb();var f=1;break a}catch(k){}f=void 0}if(f)return!0}return!1},fb:function(){return u?u.ef:0},pb:function(a,b){var c=0;Cd().forEach(function(e,f){var k=b+c;f=G[a+4*f>>2]=k;for(k=0;k<e.length;++k)ab[f++>>0]=e.charCodeAt(k);
ab[f>>0]=0;c+=e.length+1});return 0},qb:function(a,b){var c=Cd();G[a>>2]=c.length;var e=0;c.forEach(function(f){e+=f.length+1});G[b>>2]=e;return 0},Ab:function(a){if(!(noExitRuntime||0<Da)){if(r.onExit)r.onExit(a);La=!0}oa(a,new Ea(a))},X:function(){return 0},gb:function(a,b,c,e,f,k){a=wb.af(a);b=wb.Ve(a,b,c,e);G[k>>2]=b;return 0},ub:function(a,b,c,e){a=wb.af(a);b=wb.Ve(a,b,c);G[e>>2]=b;return 0},hb:function(){},U:function(a,b,c,e){for(var f=0,k=0;k<c;k++){var l=G[b>>2],n=G[b+4>>2];b+=8;for(var q=
0;q<n;q++){var x=B[l+q],y=vb[a];0===x||10===x?((1===a?Ga:Fa)(Oa(y,0)),y.length=0):y.push(x)}f+=n}G[e>>2]=f;return 0},b:function(){return Ha},q:Sd,o:Td,l:Ud,R:Vd,$:Wd,_:Xd,z:Yd,y:Zd,t:$d,x:ae,aa:be,Bb:ce,Cb:de,c:function(a){Ha=a},jb:function(a,b,c,e){return Jd(a,b,c,e)}};
(function(){function a(f){r.asm=f.exports;Ka=r.asm.bd;cb();db=r.asm.dd;fb.unshift(r.asm.cd);jb--;r.monitorRunDependencies&&r.monitorRunDependencies(jb);0==jb&&(null!==kb&&(clearInterval(kb),kb=null),lb&&(f=lb,lb=null,f()))}function b(f){a(f.instance)}function c(f){return qb().then(function(k){return WebAssembly.instantiate(k,e)}).then(function(k){return k}).then(f,function(k){Fa("failed to asynchronously prepare wasm: "+k);Ja(k)})}var e={a:ee};jb++;r.monitorRunDependencies&&r.monitorRunDependencies(jb);
if(r.instantiateWasm)try{return r.instantiateWasm(e,a)}catch(f){return Fa("Module.instantiateWasm callback failed with error: "+f),!1}(function(){return Ia||"function"!==typeof WebAssembly.instantiateStreaming||mb()||nb.startsWith("file://")||"function"!==typeof fetch?c(b):fetch(nb,{credentials:"same-origin"}).then(function(f){return WebAssembly.instantiateStreaming(f,e).then(b,function(k){Fa("wasm streaming compile failed: "+k);Fa("falling back to ArrayBuffer instantiation");return c(b)})})})().catch(ca);
return{}})();r.___wasm_call_ctors=function(){return(r.___wasm_call_ctors=r.asm.cd).apply(null,arguments)};var Rd=r.___errno_location=function(){return(Rd=r.___errno_location=r.asm.ed).apply(null,arguments)},Cc=r._free=function(){return(Cc=r._free=r.asm.fd).apply(null,arguments)},vd=r._malloc=function(){return(vd=r._malloc=r.asm.gd).apply(null,arguments)},Bc=r.___getTypeName=function(){return(Bc=r.___getTypeName=r.asm.hd).apply(null,arguments)};
r.___embind_register_native_and_builtin_types=function(){return(r.___embind_register_native_and_builtin_types=r.asm.id).apply(null,arguments)};var Qd=r._memalign=function(){return(Qd=r._memalign=r.asm.jd).apply(null,arguments)},fe=r._setThrew=function(){return(fe=r._setThrew=r.asm.kd).apply(null,arguments)},ge=r.stackSave=function(){return(ge=r.stackSave=r.asm.ld).apply(null,arguments)},he=r.stackRestore=function(){return(he=r.stackRestore=r.asm.md).apply(null,arguments)};
r.dynCall_viji=function(){return(r.dynCall_viji=r.asm.nd).apply(null,arguments)};r.dynCall_vijiii=function(){return(r.dynCall_vijiii=r.asm.od).apply(null,arguments)};r.dynCall_viiiiij=function(){return(r.dynCall_viiiiij=r.asm.pd).apply(null,arguments)};r.dynCall_jii=function(){return(r.dynCall_jii=r.asm.qd).apply(null,arguments)};r.dynCall_vij=function(){return(r.dynCall_vij=r.asm.rd).apply(null,arguments)};r.dynCall_iiij=function(){return(r.dynCall_iiij=r.asm.sd).apply(null,arguments)};
r.dynCall_iiiij=function(){return(r.dynCall_iiiij=r.asm.td).apply(null,arguments)};r.dynCall_viij=function(){return(r.dynCall_viij=r.asm.ud).apply(null,arguments)};r.dynCall_viiij=function(){return(r.dynCall_viiij=r.asm.vd).apply(null,arguments)};r.dynCall_ji=function(){return(r.dynCall_ji=r.asm.wd).apply(null,arguments)};r.dynCall_iij=function(){return(r.dynCall_iij=r.asm.xd).apply(null,arguments)};r.dynCall_jiiii=function(){return(r.dynCall_jiiii=r.asm.yd).apply(null,arguments)};
r.dynCall_jiiiiii=function(){return(r.dynCall_jiiiiii=r.asm.zd).apply(null,arguments)};r.dynCall_jiiiiji=function(){return(r.dynCall_jiiiiji=r.asm.Ad).apply(null,arguments)};r.dynCall_iijj=function(){return(r.dynCall_iijj=r.asm.Bd).apply(null,arguments)};r.dynCall_jiji=function(){return(r.dynCall_jiji=r.asm.Cd).apply(null,arguments)};r.dynCall_viijii=function(){return(r.dynCall_viijii=r.asm.Dd).apply(null,arguments)};r.dynCall_iiiiij=function(){return(r.dynCall_iiiiij=r.asm.Ed).apply(null,arguments)};
r.dynCall_iiiiijj=function(){return(r.dynCall_iiiiijj=r.asm.Fd).apply(null,arguments)};r.dynCall_iiiiiijj=function(){return(r.dynCall_iiiiiijj=r.asm.Gd).apply(null,arguments)};function ae(a,b,c,e,f){var k=ge();try{O(a)(b,c,e,f)}catch(l){he(k);if(l!==l+0&&"longjmp"!==l)throw l;fe(1,0)}}function Td(a,b,c){var e=ge();try{return O(a)(b,c)}catch(f){he(e);if(f!==f+0&&"longjmp"!==f)throw f;fe(1,0)}}function Zd(a,b,c){var e=ge();try{O(a)(b,c)}catch(f){he(e);if(f!==f+0&&"longjmp"!==f)throw f;fe(1,0)}}
function Sd(a,b){var c=ge();try{return O(a)(b)}catch(e){he(c);if(e!==e+0&&"longjmp"!==e)throw e;fe(1,0)}}function Yd(a,b){var c=ge();try{O(a)(b)}catch(e){he(c);if(e!==e+0&&"longjmp"!==e)throw e;fe(1,0)}}function Ud(a,b,c,e){var f=ge();try{return O(a)(b,c,e)}catch(k){he(f);if(k!==k+0&&"longjmp"!==k)throw k;fe(1,0)}}function $d(a,b,c,e){var f=ge();try{O(a)(b,c,e)}catch(k){he(f);if(k!==k+0&&"longjmp"!==k)throw k;fe(1,0)}}
function be(a,b,c,e,f,k){var l=ge();try{O(a)(b,c,e,f,k)}catch(n){he(l);if(n!==n+0&&"longjmp"!==n)throw n;fe(1,0)}}function Wd(a,b,c,e,f,k,l){var n=ge();try{return O(a)(b,c,e,f,k,l)}catch(q){he(n);if(q!==q+0&&"longjmp"!==q)throw q;fe(1,0)}}function Vd(a,b,c,e,f){var k=ge();try{return O(a)(b,c,e,f)}catch(l){he(k);if(l!==l+0&&"longjmp"!==l)throw l;fe(1,0)}}function de(a,b,c,e,f,k,l,n,q,x){var y=ge();try{O(a)(b,c,e,f,k,l,n,q,x)}catch(C){he(y);if(C!==C+0&&"longjmp"!==C)throw C;fe(1,0)}}
function ce(a,b,c,e,f,k,l){var n=ge();try{O(a)(b,c,e,f,k,l)}catch(q){he(n);if(q!==q+0&&"longjmp"!==q)throw q;fe(1,0)}}function Xd(a,b,c,e,f,k,l,n,q,x){var y=ge();try{return O(a)(b,c,e,f,k,l,n,q,x)}catch(C){he(y);if(C!==C+0&&"longjmp"!==C)throw C;fe(1,0)}}var ie;function Ea(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}lb=function je(){ie||ke();ie||(lb=je)};
function ke(){function a(){if(!ie&&(ie=!0,r.calledRun=!0,!La)){rb(fb);ba(r);if(r.onRuntimeInitialized)r.onRuntimeInitialized();if(r.postRun)for("function"==typeof r.postRun&&(r.postRun=[r.postRun]);r.postRun.length;){var b=r.postRun.shift();hb.unshift(b)}rb(hb)}}if(!(0<jb)){if(r.preRun)for("function"==typeof r.preRun&&(r.preRun=[r.preRun]);r.preRun.length;)ib();rb(eb);0<jb||(r.setStatus?(r.setStatus("Running..."),setTimeout(function(){setTimeout(function(){r.setStatus("")},1);a()},1)):a())}}
r.run=ke;if(r.preInit)for("function"==typeof r.preInit&&(r.preInit=[r.preInit]);0<r.preInit.length;)r.preInit.pop()();ke();
return CanvasKitInit.ready
}
);
})();
if (typeof exports === 'object' && typeof module === 'object')
module.exports = CanvasKitInit;
else if (typeof define === 'function' && define['amd'])
define([], function() { return CanvasKitInit; });
else if (typeof exports === 'object')
exports["CanvasKitInit"] = CanvasKitInit;

@ -0,0 +1,153 @@
var skwasm = (() => {
var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
return (
function(skwasm) {
skwasm = skwasm || {};
function e(){h.buffer!=l&&q(h.buffer);return aa}function r(){h.buffer!=l&&q(h.buffer);return ba}function u(){h.buffer!=l&&q(h.buffer);return ca}function ea(){h.buffer!=l&&q(h.buffer);return fa}function w(){h.buffer!=l&&q(h.buffer);return ha}function ia(){h.buffer!=l&&q(h.buffer);return ja}null;var y;y||(y=typeof skwasm !== 'undefined' ? skwasm : {});var ka=Object.assign,la,ma;y.ready=new Promise(function(a,b){la=a;ma=b});
var na=ka({},y),oa="./this.program",pa=(a,b)=>{throw b;},qa="object"===typeof window,z="function"===typeof importScripts,A="object"===typeof process&&"object"===typeof process.versions&&"string"===typeof process.versions.node,B=y.ENVIRONMENT_IS_PTHREAD||!1,D="";function ra(a){return y.locateFile?y.locateFile(a,D):D+a}var sa,ta,ua,fs,va,wa;
if(A){D=z?require("path").dirname(D)+"/":__dirname+"/";wa=()=>{va||(fs=require("fs"),va=require("path"))};sa=function(b,c){wa();b=va.normalize(b);return fs.readFileSync(b,c?null:"utf8")};ua=b=>{b=sa(b,!0);b.buffer||(b=new Uint8Array(b));return b};ta=(b,c,d)=>{wa();b=va.normalize(b);fs.readFile(b,function(f,g){f?d(f):c(g.buffer)})};1<process.argv.length&&(oa=process.argv[1].replace(/\\/g,"/"));process.argv.slice(2);process.on("uncaughtException",function(b){if(!(b instanceof xa))throw b;});process.on("unhandledRejection",
function(b){throw b;});pa=(b,c)=>{if(ya())throw process.exitCode=b,c;c instanceof xa||E("exiting due to exception: "+c);process.exit(b)};y.inspect=function(){return"[Emscripten Module object]"};let a;try{a=require("worker_threads")}catch(b){throw console.error('The "worker_threads" module is not supported in this node.js build - perhaps a newer version is needed?'),b;}global.Worker=a.Worker}else if(qa||z)z?D=self.location.href:"undefined"!==typeof document&&document.currentScript&&(D=document.currentScript.src),
_scriptDir&&(D=_scriptDir),0!==D.indexOf("blob:")?D=D.substr(0,D.replace(/[?#].*/,"").lastIndexOf("/")+1):D="",A||(sa=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},z&&(ua=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}),ta=(a,b,c)=>{var d=new XMLHttpRequest;d.open("GET",a,!0);d.responseType="arraybuffer";d.onload=()=>{200==d.status||0==d.status&&d.response?b(d.response):c()};d.onerror=
c;d.send(null)});A&&"undefined"===typeof performance&&(global.performance=require("perf_hooks").performance);var za=console.log.bind(console),Aa=console.warn.bind(console);A&&(wa(),za=a=>fs.writeSync(1,a+"\n"),Aa=a=>fs.writeSync(2,a+"\n"));var Ba=y.print||za,E=y.printErr||Aa;ka(y,na);na=null;y.thisProgram&&(oa=y.thisProgram);y.quit&&(pa=y.quit);var Ca,Da=0,Ea;y.wasmBinary&&(Ea=y.wasmBinary);var noExitRuntime=y.noExitRuntime||!0;"object"!==typeof WebAssembly&&Fa("no native wasm support detected");
var h,Ga,Ha=!1;function Ia(a){var b=new TextDecoder(a);this.decode=c=>{c.buffer instanceof SharedArrayBuffer&&(c=new Uint8Array(c));return b.decode.call(b,c)}}var Ja="undefined"!==typeof TextDecoder?new Ia("utf8"):void 0;
function Ka(a,b,c){var d=b+c;for(c=b;a[c]&&!(c>=d);)++c;if(16<c-b&&a.subarray&&Ja)return Ja.decode(a.subarray(b,c));for(d="";b<c;){var f=a[b++];if(f&128){var g=a[b++]&63;if(192==(f&224))d+=String.fromCharCode((f&31)<<6|g);else{var k=a[b++]&63;f=224==(f&240)?(f&15)<<12|g<<6|k:(f&7)<<18|g<<12|k<<6|a[b++]&63;65536>f?d+=String.fromCharCode(f):(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else d+=String.fromCharCode(f)}return d}function F(a,b){return a?Ka(r(),a,b):""}
function La(a,b,c,d){if(!(0<d))return 0;var f=c;d=c+d-1;for(var g=0;g<a.length;++g){var k=a.charCodeAt(g);if(55296<=k&&57343>=k){var n=a.charCodeAt(++g);k=65536+((k&1023)<<10)|n&1023}if(127>=k){if(c>=d)break;b[c++]=k}else{if(2047>=k){if(c+1>=d)break;b[c++]=192|k>>6}else{if(65535>=k){if(c+2>=d)break;b[c++]=224|k>>12}else{if(c+3>=d)break;b[c++]=240|k>>18;b[c++]=128|k>>12&63}b[c++]=128|k>>6&63}b[c++]=128|k&63}}b[c]=0;return c-f}function Ma(a,b,c){return La(a,r(),b,c)}
function Na(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&(d=65536+((d&1023)<<10)|a.charCodeAt(++c)&1023);127>=d?++b:b=2047>=d?b+2:65535>=d?b+3:b+4}return b}"undefined"!==typeof TextDecoder&&new Ia("utf-16le");function Oa(a,b){e().set(a,b)}var l,aa,ba,Pa,Qa,ca,fa,ha,ja;B&&(l=y.buffer);
function q(a){l=a;y.HEAP8=aa=new Int8Array(a);y.HEAP16=Pa=new Int16Array(a);y.HEAP32=ca=new Int32Array(a);y.HEAPU8=ba=new Uint8Array(a);y.HEAPU16=Qa=new Uint16Array(a);y.HEAPU32=fa=new Uint32Array(a);y.HEAPF32=ha=new Float32Array(a);y.HEAPF64=ja=new Float64Array(a)}var Ra=y.INITIAL_MEMORY||16777216;
if(B)h=y.wasmMemory,l=y.buffer;else if(y.wasmMemory)h=y.wasmMemory;else if(h=new WebAssembly.Memory({initial:Ra/65536,maximum:32768,shared:!0}),!(h.buffer instanceof SharedArrayBuffer))throw E("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),A&&console.log("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and also use a recent version)"),
Error("bad memory");h&&(l=h.buffer);Ra=l.byteLength;q(l);var Sa,Ta=[],Ua=[],Va=[],Wa=0;function ya(){return noExitRuntime||0<Wa}function Xa(){var a=y.preRun.shift();Ta.unshift(a)}var H=0,Ya=null,Za=null;y.preloadedImages={};y.preloadedAudios={};function Fa(a){if(B)postMessage({cmd:"onAbort",arg:a});else if(y.onAbort)y.onAbort(a);a="Aborted("+a+")";E(a);Ha=!0;a=new WebAssembly.RuntimeError(a+". Build with -s ASSERTIONS=1 for more info.");ma(a);throw a;}
function $a(){return I.startsWith("data:application/octet-stream;base64,")}var I;I="skwasm.wasm";$a()||(I=ra(I));function ab(){var a=I;try{if(a==I&&Ea)return new Uint8Array(Ea);if(ua)return ua(a);throw"both async and sync fetching of the wasm failed";}catch(b){Fa(b)}}
function bb(){if(!Ea&&(qa||z)){if("function"===typeof fetch&&!I.startsWith("file://"))return fetch(I,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+I+"'";return a.arrayBuffer()}).catch(function(){return ab()});if(ta)return new Promise(function(a,b){ta(I,function(c){a(new Uint8Array(c))},b)})}return Promise.resolve().then(function(){return ab()})}var cb={};
function db(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(y);else{var c=b.Ma;"number"===typeof c?void 0===b.A?J(c)():J(c)(b.A):c(void 0===b.A?null:b.A)}}}function eb(a){var b=K();a=a();L(b);return a}function fb(a){var b=M.i[a];b&&(u()[a>>2]=0,M.ea(b.worker))}
var M={j:[],D:[],U:[],sa:function(){for(var a=0;1>a;++a)M.W()},ta:function(){M.receiveObjectTransfer=M.wa;M.threadInit=M.ga;M.setExitStatus=M.ya},i:{},ya:function(){},fa:function(){for(var a in M.i){var b=M.i[a];b&&b.worker&&M.ea(b.worker)}for(a=0;a<M.j.length;++a)M.j[a].terminate();M.j=[]},ea:function(a){M.xa(function(){delete M.i[a.s.T];M.j.push(a);M.D.splice(M.D.indexOf(a),1);gb(a.s.T);a.s=void 0})},xa:function(a){u()[hb>>2]=0;try{a()}finally{u()[hb>>2]=1}},wa:function(a){if("undefined"!==typeof ib){for(var b in a.M)N[b]=
a.M[b];!y.canvas&&a.o&&N[a.o]&&(y.canvas=N[a.o].l,y.canvas.id=a.o)}},ga:function(){for(var a in M.U)M.U[a]()},aa:function(a,b){a.onmessage=c=>{c=c.data;var d=c.cmd;a.s&&(M.la=a.s.T);if(c.targetThread&&c.targetThread!=jb()){var f=M.i[c.Ta];f?f.worker.postMessage(c,c.transferList):E('Internal error! Worker sent a message "'+d+'" to target pthread '+c.targetThread+", but that thread no longer exists!")}else if("processQueuedMainThreadWork"===d)kb();else if("spawnThread"===d)lb(c);else if("cleanupThread"===
d)fb(c.thread);else if("killThread"===d)c=c.thread,u()[c>>2]=0,d=M.i[c],delete M.i[c],d.worker.terminate(),gb(c),M.D.splice(M.D.indexOf(d.worker),1),d.worker.s=void 0;else if("cancelThread"===d)M.i[c.thread].worker.postMessage({cmd:"cancel"});else if("loaded"===d)a.loaded=!0,b&&b(a),a.C&&(a.C(),delete a.C);else if("print"===d)Ba("Thread "+c.threadId+": "+c.text);else if("printErr"===d)E("Thread "+c.threadId+": "+c.text);else if("alert"===d)alert("Thread "+c.threadId+": "+c.text);else if("setimmediate"===
c.target)a.postMessage(c);else if("onAbort"===d){if(y.onAbort)y.onAbort(c.arg)}else E("worker sent an unknown command "+d);M.la=void 0};a.onerror=c=>{E("worker sent an error! "+c.filename+":"+c.lineno+": "+c.message);throw c;};A&&(a.on("message",function(c){a.onmessage({data:c})}),a.on("error",function(c){a.onerror(c)}),a.on("detachedExit",function(){}));a.postMessage({cmd:"load",urlOrBlob:y.mainScriptUrlOrBlob||_scriptDir,wasmMemory:h,wasmModule:Ga})},W:function(){var a=ra("skwasm.worker.js");M.j.push(new Worker(a))},
oa:function(){0==M.j.length&&(M.W(),M.aa(M.j[0]));return M.j.pop()}};y.establishStackSpace=function(){var a=jb(),b=u()[a+44>>2];a=u()[a+48>>2];mb(b,b-a);L(b)};function nb(a){if(B)return O(1,0,a);try{ob(a)}catch(b){b instanceof xa||"unwind"==b||pa(1,b)}}function J(a){return Sa.get(a)}y.invokeEntryPoint=function(a,b){return J(a)(b)};var pb;pb=A?()=>{var a=process.hrtime();return 1E3*a[0]+a[1]/1E6}:B?()=>performance.now()-y.__performance_now_clock_drift:()=>performance.now();
function qb(a){this.B=a-16;this.Da=function(b){u()[this.B+4>>2]=b};this.Aa=function(b){u()[this.B+8>>2]=b};this.Ba=function(){u()[this.B>>2]=0};this.za=function(){var b=0;e()[this.B+12>>0]=b};this.Ca=function(){var b=0;e()[this.B+13>>0]=b};this.qa=function(b,c){this.Da(b);this.Aa(c);this.Ba();this.za();this.Ca()}}var rb=0;
function lb(a){var b=M.oa();if(!b)return 6;M.D.push(b);var c=M.i[a.S]={worker:b,T:a.S};b.s=c;var d={cmd:"run",start_routine:a.Ea,arg:a.A,threadInfoStruct:a.S};d.o=a.o;d.M=a.M;b.C=()=>{d.time=performance.now();b.postMessage(d,a.Ja)};b.loaded&&(b.C(),delete b.C);return 0}var sb={},tb=[null,[],[]],ub={};function vb(a,b,c){return B?O(2,1,a,b,c):0}function wb(a,b){if(B)return O(3,1,a,b)}function xb(a,b,c){return B?O(4,1,a,b,c):0}
function yb(a,b,c,d,f,g){if(B)b=O(5,1,a,b,c,d,f,g);else if(g<<=12,0!==(d&16)&&0!==a%65536)b=-28;else if(0!==(d&32)){var k=65536*Math.ceil(b/65536);(a=zb(65536,k))?r().fill(0,a,a+k):a=0;a?(sb[a]={va:a,ua:b,ja:!0,fd:f,Qa:c,flags:d,offset:g},b=a):b=-48}else b=-52;return b}function Ab(a,b){if(B)a=O(6,1,a,b);else{var c=sb[a];0!==b&&c?(b===c.ua&&(sb[a]=null,c.ja&&Bb(c.va)),a=0):a=-28}return a}function Cb(a,b,c){if(B)return O(7,1,a,b,c)}
function Db(a){var b=a.getExtension("ANGLE_instanced_arrays");b&&(a.vertexAttribDivisor=function(c,d){b.vertexAttribDivisorANGLE(c,d)},a.drawArraysInstanced=function(c,d,f,g){b.drawArraysInstancedANGLE(c,d,f,g)},a.drawElementsInstanced=function(c,d,f,g,k){b.drawElementsInstancedANGLE(c,d,f,g,k)})}
function Eb(a){var b=a.getExtension("OES_vertex_array_object");b&&(a.createVertexArray=function(){return b.createVertexArrayOES()},a.deleteVertexArray=function(c){b.deleteVertexArrayOES(c)},a.bindVertexArray=function(c){b.bindVertexArrayOES(c)},a.isVertexArray=function(c){return b.isVertexArrayOES(c)})}function Fb(a){var b=a.getExtension("WEBGL_draw_buffers");b&&(a.drawBuffers=function(c,d){b.drawBuffersWEBGL(c,d)})}
var Gb=1,Hb=[],P=[],Ib=[],Jb=[],Kb=[],Q=[],R=[],Lb={},N={},Mb=[],Nb=[],Ob={},Pb={},Qb=4;function S(a){Rb||(Rb=a)}function Sb(a){for(var b=Gb++,c=a.length;c<b;c++)a[c]=null;return b}function Tb(a,b){a.$||(a.$=a.getContext,a.getContext=function(d,f){f=a.$(d,f);return"webgl"==d==f instanceof WebGLRenderingContext?f:null});var c=1<b.ba?a.getContext("webgl2",b):a.getContext("webgl",b);return c?Ub(c,b):0}
function Ub(a,b){var c=Vb(8);u()[c+4>>2]=jb();var d={Na:c,attributes:b,version:b.ba,v:a};a.canvas&&(a.canvas.H=d);Lb[c]=d;("undefined"===typeof b.Z||b.Z)&&Wb(d);return c}
function Wb(a){a||(a=T);if(!a.ra){a.ra=!0;var b=a.v;Db(b);Eb(b);Fb(b);b.X=b.getExtension("WEBGL_draw_instanced_base_vertex_base_instance");b.da=b.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance");2<=a.version&&(b.Y=b.getExtension("EXT_disjoint_timer_query_webgl2"));if(2>a.version||!b.Y)b.Y=b.getExtension("EXT_disjoint_timer_query");b.Pa=b.getExtension("WEBGL_multi_draw");(b.getSupportedExtensions()||[]).forEach(function(c){c.includes("lose_context")||c.includes("debug")||b.getExtension(c)})}}
var ib={},Rb,T,Xb=[];function Yb(a,b,c,d){for(var f=0;f<a;f++){var g=U[c](),k=g&&Sb(d);g?(g.name=k,d[k]=g):S(1282);u()[b+4*f>>2]=k}}
function Zb(a,b,c){if(b){var d=void 0;switch(a){case 36346:d=1;break;case 36344:0!=c&&1!=c&&S(1280);return;case 34814:case 36345:d=0;break;case 34466:var f=U.getParameter(34467);d=f?f.length:0;break;case 33309:if(2>T.version){S(1282);return}d=2*(U.getSupportedExtensions()||[]).length;break;case 33307:case 33308:if(2>T.version){S(1280);return}d=33307==a?3:0}if(void 0===d)switch(f=U.getParameter(a),typeof f){case "number":d=f;break;case "boolean":d=f?1:0;break;case "string":S(1280);return;case "object":if(null===
f)switch(a){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:d=0;break;default:S(1280);return}else{if(f instanceof Float32Array||f instanceof Uint32Array||f instanceof Int32Array||f instanceof Array){for(a=0;a<f.length;++a)switch(c){case 0:u()[b+4*a>>2]=f[a];break;case 2:w()[b+4*a>>2]=f[a];break;case 4:e()[b+a>>0]=f[a]?1:0}return}try{d=f.name|
0}catch(g){S(1280);E("GL_INVALID_ENUM in glGet"+c+"v: Unknown object returned from WebGL getParameter("+a+")! (error: "+g+")");return}}break;default:S(1280);E("GL_INVALID_ENUM in glGet"+c+"v: Native code calling glGet"+c+"v("+a+") and it returns "+f+" of type "+typeof f+"!");return}switch(c){case 1:c=d;ea()[b>>2]=c;ea()[b+4>>2]=(c-ea()[b>>2])/4294967296;break;case 0:u()[b>>2]=d;break;case 2:w()[b>>2]=d;break;case 4:e()[b>>0]=d?1:0}}else S(1281)}
function $b(a){var b=Na(a)+1,c=Vb(b);Ma(a,c,b);return c}function ac(a){return"]"==a.slice(-1)&&a.lastIndexOf("[")}function bc(a){a-=5120;0==a?a=e():1==a?a=r():2==a?(h.buffer!=l&&q(h.buffer),a=Pa):4==a?a=u():6==a?a=w():5==a||28922==a||28520==a||30779==a||30782==a?a=ea():(h.buffer!=l&&q(h.buffer),a=Qa);return a}
function cc(a,b,c,d,f){a=bc(a);var g=31-Math.clz32(a.BYTES_PER_ELEMENT),k=Qb;return a.subarray(f>>g,f+d*(c*({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[b-6402]||1)*(1<<g)+k-1&-k)>>g)}function V(a){var b=U.ka;if(b){var c=b.G[a];"number"===typeof c&&(b.G[a]=c=U.getUniformLocation(b,b.ha[a]+(0<c?"["+c+"]":"")));return c}S(1282)}var W=[],dc=[];
function O(a,b){var c=arguments.length-2,d=arguments;return eb(function(){for(var f=ec(8*c),g=f>>3,k=0;k<c;k++){var n=d[2+k];ia()[g+k]=n}return fc(a,c,f,b)})}var gc=[];function hc(a,b,c,d){eb(function(){var f=ec(12),g=0;b&&(g=$b(b));u()[f>>2]=g;u()[f+4>>2]=c;u()[f+8>>2]=d;ic(a,657457152,0,g,f)})}function jc(a){a=2<a?F(a):a;return N[a.substr(1)]||"canvas"==a&&Object.keys(N)[0]||"undefined"!==typeof document&&document.querySelector(a)}
function kc(a,b,c){var d=jc(a);if(!d)return-4;d.g&&(u()[d.g>>2]=b,u()[d.g+4>>2]=c);if(d.l||!d.I)d.l&&(d=d.l),a=!1,d.H&&d.H.v&&(a=d.H.v.getParameter(2978),a=0===a[0]&&0===a[1]&&a[2]===d.width&&a[3]===d.height),d.width=b,d.height=c,a&&d.H.v.viewport(0,0,b,c);else return d.g?(d=u()[d.g+8>>2],a=a?F(a):"",hc(d,a,b,c),1):-4;return 0}function lc(a,b,c){return B?O(8,1,a,b,c):kc(a,b,c)}var mc=["default","low-power","high-performance"];
function nc(a,b){b>>=2;var c=u()[b+6];b={alpha:!!u()[b],depth:!!u()[b+1],stencil:!!u()[b+2],antialias:!!u()[b+3],premultipliedAlpha:!!u()[b+4],preserveDrawingBuffer:!!u()[b+5],powerPreference:mc[c],failIfMajorPerformanceCaveat:!!u()[b+7],ba:u()[b+8],Oa:u()[b+9],Z:u()[b+10],na:u()[b+11],Ra:u()[b+12],Sa:u()[b+13]};a=jc(a);if(!a)return 0;a.l&&(a=a.l);if(b.na){if(!(a.transferControlToOffscreen||"undefined"!==typeof OffscreenCanvas&&a instanceof OffscreenCanvas))return 0;if(a.transferControlToOffscreen){if(!a.I)N[a.id]=
{canvas:a.transferControlToOffscreen(),g:Vb(12),id:a.id},a.I=!0;else if(!N[a.id])return 0;a=N[a.id]}}return Tb(a,b)}var pc={};function qc(){if(!rc){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"===typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:oa||"./this.program"},b;for(b in pc)void 0===pc[b]?delete a[b]:a[b]=pc[b];var c=[];for(b in a)c.push(b+"="+a[b]);rc=c}return rc}var rc;
function sc(a,b){if(B)return O(9,1,a,b);var c=0;qc().forEach(function(d,f){var g=b+c;f=u()[a+4*f>>2]=g;for(g=0;g<d.length;++g)e()[f++>>0]=d.charCodeAt(g);e()[f>>0]=0;c+=d.length+1});return 0}function tc(a,b){if(B)return O(10,1,a,b);var c=qc();u()[a>>2]=c.length;var d=0;c.forEach(function(f){d+=f.length+1});u()[b>>2]=d;return 0}function uc(a){return B?O(11,1,a):0}function vc(a,b,c,d,f,g){if(B)return O(12,1,a,b,c,d,f,g);a=ub.pa(a);b=ub.ma(a,b,c,d);u()[g>>2]=b;return 0}
function wc(a,b,c,d){if(B)return O(13,1,a,b,c,d);a=ub.pa(a);b=ub.ma(a,b,c);u()[d>>2]=b;return 0}function xc(a,b,c,d,f){if(B)return O(14,1,a,b,c,d,f)}function yc(a,b,c,d){if(B)return O(15,1,a,b,c,d);for(var f=0,g=0;g<c;g++){var k=u()[b>>2],n=u()[b+4>>2];b+=8;for(var p=0;p<n;p++){var t=r()[k+p],v=tb[a];0===t||10===t?((1===a?Ba:E)(Ka(v,0)),v.length=0):v.push(t)}f+=n}u()[d>>2]=f;return 0}function zc(a){return 0===a%4&&(0!==a%100||0===a%400)}function Ac(a,b){for(var c=0,d=0;d<=b;c+=a[d++]);return c}
var Bc=[31,29,31,30,31,30,31,31,30,31,30,31],Cc=[31,28,31,30,31,30,31,31,30,31,30,31];function Dc(a,b){for(a=new Date(a.getTime());0<b;){var c=a.getMonth(),d=(zc(a.getFullYear())?Bc:Cc)[c];if(b>d-a.getDate())b-=d-a.getDate()+1,a.setDate(1),11>c?a.setMonth(c+1):(a.setMonth(0),a.setFullYear(a.getFullYear()+1));else{a.setDate(a.getDate()+b);break}}return a}
function Ec(a,b,c,d){function f(m,x,C){for(m="number"===typeof m?m.toString():m||"";m.length<x;)m=C[0]+m;return m}function g(m,x){return f(m,x,"0")}function k(m,x){function C(oc){return 0>oc?-1:0<oc?1:0}var da;0===(da=C(m.getFullYear()-x.getFullYear()))&&0===(da=C(m.getMonth()-x.getMonth()))&&(da=C(m.getDate()-x.getDate()));return da}function n(m){switch(m.getDay()){case 0:return new Date(m.getFullYear()-1,11,29);case 1:return m;case 2:return new Date(m.getFullYear(),0,3);case 3:return new Date(m.getFullYear(),
0,2);case 4:return new Date(m.getFullYear(),0,1);case 5:return new Date(m.getFullYear()-1,11,31);case 6:return new Date(m.getFullYear()-1,11,30)}}function p(m){m=Dc(new Date(m.h+1900,0,1),m.P);var x=new Date(m.getFullYear()+1,0,4),C=n(new Date(m.getFullYear(),0,4));x=n(x);return 0>=k(C,m)?0>=k(x,m)?m.getFullYear()+1:m.getFullYear():m.getFullYear()-1}var t=u()[d+40>>2];d={Ha:u()[d>>2],Ga:u()[d+4>>2],N:u()[d+8>>2],F:u()[d+12>>2],u:u()[d+16>>2],h:u()[d+20>>2],O:u()[d+24>>2],P:u()[d+28>>2],Ua:u()[d+32>>
2],Fa:u()[d+36>>2],Ia:t?F(t):""};c=F(c);t={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var v in t)c=c.replace(new RegExp(v,"g"),t[v]);var Y="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),
G="January February March April May June July August September October November December".split(" ");t={"%a":function(m){return Y[m.O].substring(0,3)},"%A":function(m){return Y[m.O]},"%b":function(m){return G[m.u].substring(0,3)},"%B":function(m){return G[m.u]},"%C":function(m){return g((m.h+1900)/100|0,2)},"%d":function(m){return g(m.F,2)},"%e":function(m){return f(m.F,2," ")},"%g":function(m){return p(m).toString().substring(2)},"%G":function(m){return p(m)},"%H":function(m){return g(m.N,2)},"%I":function(m){m=
m.N;0==m?m=12:12<m&&(m-=12);return g(m,2)},"%j":function(m){return g(m.F+Ac(zc(m.h+1900)?Bc:Cc,m.u-1),3)},"%m":function(m){return g(m.u+1,2)},"%M":function(m){return g(m.Ga,2)},"%n":function(){return"\n"},"%p":function(m){return 0<=m.N&&12>m.N?"AM":"PM"},"%S":function(m){return g(m.Ha,2)},"%t":function(){return"\t"},"%u":function(m){return m.O||7},"%U":function(m){var x=new Date(m.h+1900,0,1),C=0===x.getDay()?x:Dc(x,7-x.getDay());m=new Date(m.h+1900,m.u,m.F);return 0>k(C,m)?g(Math.ceil((31-C.getDate()+
(Ac(zc(m.getFullYear())?Bc:Cc,m.getMonth()-1)-31)+m.getDate())/7),2):0===k(C,x)?"01":"00"},"%V":function(m){var x=new Date(m.h+1901,0,4),C=n(new Date(m.h+1900,0,4));x=n(x);var da=Dc(new Date(m.h+1900,0,1),m.P);return 0>k(da,C)?"53":0>=k(x,da)?"01":g(Math.ceil((C.getFullYear()<m.h+1900?m.P+32-C.getDate():m.P+1-C.getDate())/7),2)},"%w":function(m){return m.O},"%W":function(m){var x=new Date(m.h,0,1),C=1===x.getDay()?x:Dc(x,0===x.getDay()?1:7-x.getDay()+1);m=new Date(m.h+1900,m.u,m.F);return 0>k(C,m)?
g(Math.ceil((31-C.getDate()+(Ac(zc(m.getFullYear())?Bc:Cc,m.getMonth()-1)-31)+m.getDate())/7),2):0===k(C,x)?"01":"00"},"%y":function(m){return(m.h+1900).toString().substring(2)},"%Y":function(m){return m.h+1900},"%z":function(m){m=m.Fa;var x=0<=m;m=Math.abs(m)/60;return(x?"+":"-")+String("0000"+(m/60*100+m%60)).slice(-4)},"%Z":function(m){return m.Ia},"%%":function(){return"%"}};for(v in t)c.includes(v)&&(c=c.replace(new RegExp(v,"g"),t[v](d)));v=Fc(c);if(v.length>b)return 0;Oa(v,a);return v.length-
1}B||M.sa();for(var U,X=0;32>X;++X)Xb.push(Array(X));var Gc=new Float32Array(288);for(X=0;288>X;++X)W[X]=Gc.subarray(0,X+1);var Hc=new Int32Array(288);for(X=0;288>X;++X)dc[X]=Hc.subarray(0,X+1);var Ic=[null,nb,vb,wb,xb,yb,Ab,Cb,lc,sc,tc,uc,vc,wc,xc,yc];function Fc(a){var b=Array(Na(a)+1);La(a,b,0,b.length);return b}
var bd={__cxa_allocate_exception:function(a){return Vb(a+16)+16},__cxa_throw:function(a,b,c){(new qb(a)).qa(b,c);rb++;throw a;},__emscripten_init_main_thread_js:function(a){Jc(a,!z,1,!qa);M.ga()},__emscripten_thread_cleanup:function(a){B?postMessage({cmd:"cleanupThread",thread:a}):fb(a)},__pthread_create_js:function(a,b,c,d){if("undefined"===typeof SharedArrayBuffer)return E("Current environment does not support SharedArrayBuffer, pthreads are not available!"),6;var f=[],g=0,k=b?u()[b+40>>2]:0;-1==
k?k="#canvas":k&&(k=F(k).trim());k&&(k=k.split(","));var n={},p=y.canvas?y.canvas.id:"",t;for(t in k){var v=k[t].trim();try{if("#canvas"==v){if(!y.canvas){E('pthread_create: could not find canvas with ID "'+v+'" to transfer to thread!');g=28;break}v=y.canvas.id}if(N[v]){var Y=N[v];N[v]=null;y.canvas instanceof OffscreenCanvas&&v===y.canvas.id&&(y.canvas=null)}else if(!B){var G=y.canvas&&y.canvas.id===v?y.canvas:document.querySelector(v);if(!G){E('pthread_create: could not find canvas with ID "'+v+
'" to transfer to thread!');g=28;break}if(G.I){E('pthread_create: cannot transfer canvas with ID "'+v+'" to thread, since the current thread does not have control over it!');g=63;break}if(G.transferControlToOffscreen)G.g||(G.g=Vb(12),u()[G.g>>2]=G.width,u()[G.g+4>>2]=G.height,u()[G.g+8>>2]=0),Y={l:G.transferControlToOffscreen(),g:G.g,id:G.id},G.I=!0;else return E('pthread_create: cannot transfer control of canvas "'+v+'" to pthread, because current browser does not support OffscreenCanvas!'),E("pthread_create: Build with -s OFFSCREEN_FRAMEBUFFER=1 to enable fallback proxying of GL commands from pthread to main thread."),
52}Y&&(f.push(Y.l),n[Y.id]=Y)}catch(m){return E('pthread_create: failed to transfer control of canvas "'+v+'" to OffscreenCanvas! Error: '+m),28}}if(B&&(0===f.length||g))return Kc(687865856,a,b,c,d);if(g)return g;for(t in n)u()[n[t].g+8>>2]=a;a={Ea:c,S:a,A:d,o:p,M:n,Ja:f};return B?(a.Ka="spawnThread",postMessage(a,f),0):lb(a)},__syscall_fcntl64:vb,__syscall_fstat64:wb,__syscall_ioctl:xb,__syscall_mmap2:yb,__syscall_munmap:Ab,__syscall_open:Cb,_emscripten_default_pthread_stack_size:function(){return 2097152},
_emscripten_futex_wait_non_blocking:function(a,b,c){var d=performance.now();c=d+c;for(Atomics.exchange(u(),Lc>>2,a);;){d=performance.now();if(d>c)return Atomics.exchange(u(),Lc>>2,0),-73;d=Atomics.exchange(u(),Lc>>2,0);if(0==d)break;kb();if(Atomics.load(u(),a>>2)!=b)return-6;Atomics.exchange(u(),Lc>>2,a)}return 0},_emscripten_notify_thread_queue:function(a,b){if(a==b)postMessage({cmd:"processQueuedMainThreadWork"});else if(B)postMessage({targetThread:a,cmd:"processThreadQueue"});else{a=(a=M.i[a])&&
a.worker;if(!a)return;a.postMessage({cmd:"processThreadQueue"})}return 1},_emscripten_throw_longjmp:function(){throw"longjmp";},abort:function(){Fa("")},clock_gettime:function(a,b){if(0===a)a=Date.now();else if(1===a||4===a)a=pb();else return u()[Mc()>>2]=28,-1;u()[b>>2]=a/1E3|0;u()[b+4>>2]=a%1E3*1E6|0;return 0},emscripten_check_blocking_allowed:function(){A||z||(Ca||(Ca={}),Ca["Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread"]||
(Ca["Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread"]=1,E("Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread")))},emscripten_get_now:pb,emscripten_glActiveTexture:function(a){U.activeTexture(a)},emscripten_glAttachShader:function(a,b){U.attachShader(P[a],Q[b])},emscripten_glBindAttribLocation:function(a,b,c){U.bindAttribLocation(P[a],
b,F(c))},emscripten_glBindBuffer:function(a,b){35051==a?U.R=b:35052==a&&(U.m=b);U.bindBuffer(a,Hb[b])},emscripten_glBindFramebuffer:function(a,b){U.bindFramebuffer(a,Ib[b])},emscripten_glBindRenderbuffer:function(a,b){U.bindRenderbuffer(a,Jb[b])},emscripten_glBindSampler:function(a,b){U.bindSampler(a,Mb[b])},emscripten_glBindTexture:function(a,b){U.bindTexture(a,Kb[b])},emscripten_glBindVertexArray:function(a){U.bindVertexArray(R[a])},emscripten_glBindVertexArrayOES:function(a){U.bindVertexArray(R[a])},
emscripten_glBlendColor:function(a,b,c,d){U.blendColor(a,b,c,d)},emscripten_glBlendEquation:function(a){U.blendEquation(a)},emscripten_glBlendFunc:function(a,b){U.blendFunc(a,b)},emscripten_glBlitFramebuffer:function(a,b,c,d,f,g,k,n,p,t){U.blitFramebuffer(a,b,c,d,f,g,k,n,p,t)},emscripten_glBufferData:function(a,b,c,d){2<=T.version?c?U.bufferData(a,r(),d,c,b):U.bufferData(a,b,d):U.bufferData(a,c?r().subarray(c,c+b):b,d)},emscripten_glBufferSubData:function(a,b,c,d){2<=T.version?U.bufferSubData(a,b,
r(),d,c):U.bufferSubData(a,b,r().subarray(d,d+c))},emscripten_glCheckFramebufferStatus:function(a){return U.checkFramebufferStatus(a)},emscripten_glClear:function(a){U.clear(a)},emscripten_glClearColor:function(a,b,c,d){U.clearColor(a,b,c,d)},emscripten_glClearStencil:function(a){U.clearStencil(a)},emscripten_glClientWaitSync:function(a,b,c,d){return U.clientWaitSync(Nb[a],b,(c>>>0)+4294967296*d)},emscripten_glColorMask:function(a,b,c,d){U.colorMask(!!a,!!b,!!c,!!d)},emscripten_glCompileShader:function(a){U.compileShader(Q[a])},
emscripten_glCompressedTexImage2D:function(a,b,c,d,f,g,k,n){2<=T.version?U.m?U.compressedTexImage2D(a,b,c,d,f,g,k,n):U.compressedTexImage2D(a,b,c,d,f,g,r(),n,k):U.compressedTexImage2D(a,b,c,d,f,g,n?r().subarray(n,n+k):null)},emscripten_glCompressedTexSubImage2D:function(a,b,c,d,f,g,k,n,p){2<=T.version?U.m?U.compressedTexSubImage2D(a,b,c,d,f,g,k,n,p):U.compressedTexSubImage2D(a,b,c,d,f,g,k,r(),p,n):U.compressedTexSubImage2D(a,b,c,d,f,g,k,p?r().subarray(p,p+n):null)},emscripten_glCopyBufferSubData:function(a,
b,c,d,f){U.copyBufferSubData(a,b,c,d,f)},emscripten_glCopyTexSubImage2D:function(a,b,c,d,f,g,k,n){U.copyTexSubImage2D(a,b,c,d,f,g,k,n)},emscripten_glCreateProgram:function(){var a=Sb(P),b=U.createProgram();b.name=a;b.L=b.J=b.K=0;b.V=1;P[a]=b;return a},emscripten_glCreateShader:function(a){var b=Sb(Q);Q[b]=U.createShader(a);return b},emscripten_glCullFace:function(a){U.cullFace(a)},emscripten_glDeleteBuffers:function(a,b){for(var c=0;c<a;c++){var d=u()[b+4*c>>2],f=Hb[d];f&&(U.deleteBuffer(f),f.name=
0,Hb[d]=null,d==U.R&&(U.R=0),d==U.m&&(U.m=0))}},emscripten_glDeleteFramebuffers:function(a,b){for(var c=0;c<a;++c){var d=u()[b+4*c>>2],f=Ib[d];f&&(U.deleteFramebuffer(f),f.name=0,Ib[d]=null)}},emscripten_glDeleteProgram:function(a){if(a){var b=P[a];b?(U.deleteProgram(b),b.name=0,P[a]=null):S(1281)}},emscripten_glDeleteRenderbuffers:function(a,b){for(var c=0;c<a;c++){var d=u()[b+4*c>>2],f=Jb[d];f&&(U.deleteRenderbuffer(f),f.name=0,Jb[d]=null)}},emscripten_glDeleteSamplers:function(a,b){for(var c=0;c<
a;c++){var d=u()[b+4*c>>2],f=Mb[d];f&&(U.deleteSampler(f),f.name=0,Mb[d]=null)}},emscripten_glDeleteShader:function(a){if(a){var b=Q[a];b?(U.deleteShader(b),Q[a]=null):S(1281)}},emscripten_glDeleteSync:function(a){if(a){var b=Nb[a];b?(U.deleteSync(b),b.name=0,Nb[a]=null):S(1281)}},emscripten_glDeleteTextures:function(a,b){for(var c=0;c<a;c++){var d=u()[b+4*c>>2],f=Kb[d];f&&(U.deleteTexture(f),f.name=0,Kb[d]=null)}},emscripten_glDeleteVertexArrays:function(a,b){for(var c=0;c<a;c++){var d=u()[b+4*c>>
2];U.deleteVertexArray(R[d]);R[d]=null}},emscripten_glDeleteVertexArraysOES:function(a,b){for(var c=0;c<a;c++){var d=u()[b+4*c>>2];U.deleteVertexArray(R[d]);R[d]=null}},emscripten_glDepthMask:function(a){U.depthMask(!!a)},emscripten_glDisable:function(a){U.disable(a)},emscripten_glDisableVertexAttribArray:function(a){U.disableVertexAttribArray(a)},emscripten_glDrawArrays:function(a,b,c){U.drawArrays(a,b,c)},emscripten_glDrawArraysInstanced:function(a,b,c,d){U.drawArraysInstanced(a,b,c,d)},emscripten_glDrawArraysInstancedBaseInstanceWEBGL:function(a,
b,c,d,f){U.X.drawArraysInstancedBaseInstanceWEBGL(a,b,c,d,f)},emscripten_glDrawBuffers:function(a,b){for(var c=Xb[a],d=0;d<a;d++)c[d]=u()[b+4*d>>2];U.drawBuffers(c)},emscripten_glDrawElements:function(a,b,c,d){U.drawElements(a,b,c,d)},emscripten_glDrawElementsInstanced:function(a,b,c,d,f){U.drawElementsInstanced(a,b,c,d,f)},emscripten_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL:function(a,b,c,d,f,g,k){U.X.drawElementsInstancedBaseVertexBaseInstanceWEBGL(a,b,c,d,f,g,k)},emscripten_glDrawRangeElements:function(a,
b,c,d,f,g){U.drawElements(a,d,f,g)},emscripten_glEnable:function(a){U.enable(a)},emscripten_glEnableVertexAttribArray:function(a){U.enableVertexAttribArray(a)},emscripten_glFenceSync:function(a,b){return(a=U.fenceSync(a,b))?(b=Sb(Nb),a.name=b,Nb[b]=a,b):0},emscripten_glFinish:function(){U.finish()},emscripten_glFlush:function(){U.flush()},emscripten_glFramebufferRenderbuffer:function(a,b,c,d){U.framebufferRenderbuffer(a,b,c,Jb[d])},emscripten_glFramebufferTexture2D:function(a,b,c,d,f){U.framebufferTexture2D(a,
b,c,Kb[d],f)},emscripten_glFrontFace:function(a){U.frontFace(a)},emscripten_glGenBuffers:function(a,b){Yb(a,b,"createBuffer",Hb)},emscripten_glGenFramebuffers:function(a,b){Yb(a,b,"createFramebuffer",Ib)},emscripten_glGenRenderbuffers:function(a,b){Yb(a,b,"createRenderbuffer",Jb)},emscripten_glGenSamplers:function(a,b){Yb(a,b,"createSampler",Mb)},emscripten_glGenTextures:function(a,b){Yb(a,b,"createTexture",Kb)},emscripten_glGenVertexArrays:function(a,b){Yb(a,b,"createVertexArray",R)},emscripten_glGenVertexArraysOES:function(a,
b){Yb(a,b,"createVertexArray",R)},emscripten_glGenerateMipmap:function(a){U.generateMipmap(a)},emscripten_glGetBufferParameteriv:function(a,b,c){c?u()[c>>2]=U.getBufferParameter(a,b):S(1281)},emscripten_glGetError:function(){var a=U.getError()||Rb;Rb=0;return a},emscripten_glGetFloatv:function(a,b){Zb(a,b,2)},emscripten_glGetFramebufferAttachmentParameteriv:function(a,b,c,d){a=U.getFramebufferAttachmentParameter(a,b,c);if(a instanceof WebGLRenderbuffer||a instanceof WebGLTexture)a=a.name|0;u()[d>>
2]=a},emscripten_glGetIntegerv:function(a,b){Zb(a,b,0)},emscripten_glGetProgramInfoLog:function(a,b,c,d){a=U.getProgramInfoLog(P[a]);null===a&&(a="(unknown error)");b=0<b&&d?Ma(a,d,b):0;c&&(u()[c>>2]=b)},emscripten_glGetProgramiv:function(a,b,c){if(c)if(a>=Gb)S(1281);else if(a=P[a],35716==b)a=U.getProgramInfoLog(a),null===a&&(a="(unknown error)"),u()[c>>2]=a.length+1;else if(35719==b){if(!a.L)for(b=0;b<U.getProgramParameter(a,35718);++b)a.L=Math.max(a.L,U.getActiveUniform(a,b).name.length+1);u()[c>>
2]=a.L}else if(35722==b){if(!a.J)for(b=0;b<U.getProgramParameter(a,35721);++b)a.J=Math.max(a.J,U.getActiveAttrib(a,b).name.length+1);u()[c>>2]=a.J}else if(35381==b){if(!a.K)for(b=0;b<U.getProgramParameter(a,35382);++b)a.K=Math.max(a.K,U.getActiveUniformBlockName(a,b).length+1);u()[c>>2]=a.K}else u()[c>>2]=U.getProgramParameter(a,b);else S(1281)},emscripten_glGetRenderbufferParameteriv:function(a,b,c){c?u()[c>>2]=U.getRenderbufferParameter(a,b):S(1281)},emscripten_glGetShaderInfoLog:function(a,b,c,
d){a=U.getShaderInfoLog(Q[a]);null===a&&(a="(unknown error)");b=0<b&&d?Ma(a,d,b):0;c&&(u()[c>>2]=b)},emscripten_glGetShaderPrecisionFormat:function(a,b,c,d){a=U.getShaderPrecisionFormat(a,b);u()[c>>2]=a.rangeMin;u()[c+4>>2]=a.rangeMax;u()[d>>2]=a.precision},emscripten_glGetShaderiv:function(a,b,c){c?35716==b?(a=U.getShaderInfoLog(Q[a]),null===a&&(a="(unknown error)"),a=a?a.length+1:0,u()[c>>2]=a):35720==b?(a=(a=U.getShaderSource(Q[a]))?a.length+1:0,u()[c>>2]=a):u()[c>>2]=U.getShaderParameter(Q[a],
b):S(1281)},emscripten_glGetString:function(a){var b=Ob[a];if(!b){switch(a){case 7939:b=U.getSupportedExtensions()||[];b=b.concat(b.map(function(d){return"GL_"+d}));b=$b(b.join(" "));break;case 7936:case 7937:case 37445:case 37446:(b=U.getParameter(a))||S(1280);b=b&&$b(b);break;case 7938:b=U.getParameter(7938);b=2<=T.version?"OpenGL ES 3.0 ("+b+")":"OpenGL ES 2.0 ("+b+")";b=$b(b);break;case 35724:b=U.getParameter(35724);var c=b.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==c&&(3==c[1].length&&
(c[1]+="0"),b="OpenGL ES GLSL ES "+c[1]+" ("+b+")");b=$b(b);break;default:S(1280)}Ob[a]=b}return b},emscripten_glGetStringi:function(a,b){if(2>T.version)return S(1282),0;var c=Pb[a];if(c)return 0>b||b>=c.length?(S(1281),0):c[b];switch(a){case 7939:return c=U.getSupportedExtensions()||[],c=c.concat(c.map(function(d){return"GL_"+d})),c=c.map(function(d){return $b(d)}),c=Pb[a]=c,0>b||b>=c.length?(S(1281),0):c[b];default:return S(1280),0}},emscripten_glGetUniformLocation:function(a,b){b=F(b);if(a=P[a]){var c=
a,d=c.G,f=c.ia,g;if(!d)for(c.G=d={},c.ha={},g=0;g<U.getProgramParameter(c,35718);++g){var k=U.getActiveUniform(c,g);var n=k.name;k=k.size;var p=ac(n);p=0<p?n.slice(0,p):n;var t=c.V;c.V+=k;f[p]=[k,t];for(n=0;n<k;++n)d[t]=n,c.ha[t++]=p}c=a.G;d=0;f=b;g=ac(b);0<g&&(d=parseInt(b.slice(g+1))>>>0,f=b.slice(0,g));if((f=a.ia[f])&&d<f[0]&&(d+=f[1],c[d]=c[d]||U.getUniformLocation(a,b)))return d}else S(1281);return-1},emscripten_glInvalidateFramebuffer:function(a,b,c){for(var d=Xb[b],f=0;f<b;f++)d[f]=u()[c+4*
f>>2];U.invalidateFramebuffer(a,d)},emscripten_glInvalidateSubFramebuffer:function(a,b,c,d,f,g,k){for(var n=Xb[b],p=0;p<b;p++)n[p]=u()[c+4*p>>2];U.invalidateSubFramebuffer(a,n,d,f,g,k)},emscripten_glIsSync:function(a){return U.isSync(Nb[a])},emscripten_glIsTexture:function(a){return(a=Kb[a])?U.isTexture(a):0},emscripten_glLineWidth:function(a){U.lineWidth(a)},emscripten_glLinkProgram:function(a){a=P[a];U.linkProgram(a);a.G=0;a.ia={}},emscripten_glMultiDrawArraysInstancedBaseInstanceWEBGL:function(a,
b,c,d,f,g){U.da.multiDrawArraysInstancedBaseInstanceWEBGL(a,u(),b>>2,u(),c>>2,u(),d>>2,ea(),f>>2,g)},emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL:function(a,b,c,d,f,g,k,n){U.da.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(a,u(),b>>2,c,u(),d>>2,u(),f>>2,u(),g>>2,ea(),k>>2,n)},emscripten_glPixelStorei:function(a,b){3317==a&&(Qb=b);U.pixelStorei(a,b)},emscripten_glReadBuffer:function(a){U.readBuffer(a)},emscripten_glReadPixels:function(a,b,c,d,f,g,k){if(2<=T.version)if(U.R)U.readPixels(a,
b,c,d,f,g,k);else{var n=bc(g);U.readPixels(a,b,c,d,f,g,n,k>>31-Math.clz32(n.BYTES_PER_ELEMENT))}else(k=cc(g,f,c,d,k))?U.readPixels(a,b,c,d,f,g,k):S(1280)},emscripten_glRenderbufferStorage:function(a,b,c,d){U.renderbufferStorage(a,b,c,d)},emscripten_glRenderbufferStorageMultisample:function(a,b,c,d,f){U.renderbufferStorageMultisample(a,b,c,d,f)},emscripten_glSamplerParameterf:function(a,b,c){U.samplerParameterf(Mb[a],b,c)},emscripten_glSamplerParameteri:function(a,b,c){U.samplerParameteri(Mb[a],b,
c)},emscripten_glSamplerParameteriv:function(a,b,c){c=u()[c>>2];U.samplerParameteri(Mb[a],b,c)},emscripten_glScissor:function(a,b,c,d){U.scissor(a,b,c,d)},emscripten_glShaderSource:function(a,b,c,d){for(var f="",g=0;g<b;++g){var k=d?u()[d+4*g>>2]:-1;f+=F(u()[c+4*g>>2],0>k?void 0:k)}U.shaderSource(Q[a],f)},emscripten_glStencilFunc:function(a,b,c){U.stencilFunc(a,b,c)},emscripten_glStencilFuncSeparate:function(a,b,c,d){U.stencilFuncSeparate(a,b,c,d)},emscripten_glStencilMask:function(a){U.stencilMask(a)},
emscripten_glStencilMaskSeparate:function(a,b){U.stencilMaskSeparate(a,b)},emscripten_glStencilOp:function(a,b,c){U.stencilOp(a,b,c)},emscripten_glStencilOpSeparate:function(a,b,c,d){U.stencilOpSeparate(a,b,c,d)},emscripten_glTexImage2D:function(a,b,c,d,f,g,k,n,p){if(2<=T.version)if(U.m)U.texImage2D(a,b,c,d,f,g,k,n,p);else if(p){var t=bc(n);U.texImage2D(a,b,c,d,f,g,k,n,t,p>>31-Math.clz32(t.BYTES_PER_ELEMENT))}else U.texImage2D(a,b,c,d,f,g,k,n,null);else U.texImage2D(a,b,c,d,f,g,k,n,p?cc(n,k,d,f,p):
null)},emscripten_glTexParameterf:function(a,b,c){U.texParameterf(a,b,c)},emscripten_glTexParameterfv:function(a,b,c){c=w()[c>>2];U.texParameterf(a,b,c)},emscripten_glTexParameteri:function(a,b,c){U.texParameteri(a,b,c)},emscripten_glTexParameteriv:function(a,b,c){c=u()[c>>2];U.texParameteri(a,b,c)},emscripten_glTexStorage2D:function(a,b,c,d,f){U.texStorage2D(a,b,c,d,f)},emscripten_glTexSubImage2D:function(a,b,c,d,f,g,k,n,p){if(2<=T.version)if(U.m)U.texSubImage2D(a,b,c,d,f,g,k,n,p);else if(p){var t=
bc(n);U.texSubImage2D(a,b,c,d,f,g,k,n,t,p>>31-Math.clz32(t.BYTES_PER_ELEMENT))}else U.texSubImage2D(a,b,c,d,f,g,k,n,null);else t=null,p&&(t=cc(n,k,f,g,p)),U.texSubImage2D(a,b,c,d,f,g,k,n,t)},emscripten_glUniform1f:function(a,b){U.uniform1f(V(a),b)},emscripten_glUniform1fv:function(a,b,c){if(2<=T.version)U.uniform1fv(V(a),w(),c>>2,b);else{if(288>=b)for(var d=W[b-1],f=0;f<b;++f)d[f]=w()[c+4*f>>2];else d=w().subarray(c>>2,c+4*b>>2);U.uniform1fv(V(a),d)}},emscripten_glUniform1i:function(a,b){U.uniform1i(V(a),
b)},emscripten_glUniform1iv:function(a,b,c){if(2<=T.version)U.uniform1iv(V(a),u(),c>>2,b);else{if(288>=b)for(var d=dc[b-1],f=0;f<b;++f)d[f]=u()[c+4*f>>2];else d=u().subarray(c>>2,c+4*b>>2);U.uniform1iv(V(a),d)}},emscripten_glUniform2f:function(a,b,c){U.uniform2f(V(a),b,c)},emscripten_glUniform2fv:function(a,b,c){if(2<=T.version)U.uniform2fv(V(a),w(),c>>2,2*b);else{if(144>=b)for(var d=W[2*b-1],f=0;f<2*b;f+=2)d[f]=w()[c+4*f>>2],d[f+1]=w()[c+(4*f+4)>>2];else d=w().subarray(c>>2,c+8*b>>2);U.uniform2fv(V(a),
d)}},emscripten_glUniform2i:function(a,b,c){U.uniform2i(V(a),b,c)},emscripten_glUniform2iv:function(a,b,c){if(2<=T.version)U.uniform2iv(V(a),u(),c>>2,2*b);else{if(144>=b)for(var d=dc[2*b-1],f=0;f<2*b;f+=2)d[f]=u()[c+4*f>>2],d[f+1]=u()[c+(4*f+4)>>2];else d=u().subarray(c>>2,c+8*b>>2);U.uniform2iv(V(a),d)}},emscripten_glUniform3f:function(a,b,c,d){U.uniform3f(V(a),b,c,d)},emscripten_glUniform3fv:function(a,b,c){if(2<=T.version)U.uniform3fv(V(a),w(),c>>2,3*b);else{if(96>=b)for(var d=W[3*b-1],f=0;f<3*
b;f+=3)d[f]=w()[c+4*f>>2],d[f+1]=w()[c+(4*f+4)>>2],d[f+2]=w()[c+(4*f+8)>>2];else d=w().subarray(c>>2,c+12*b>>2);U.uniform3fv(V(a),d)}},emscripten_glUniform3i:function(a,b,c,d){U.uniform3i(V(a),b,c,d)},emscripten_glUniform3iv:function(a,b,c){if(2<=T.version)U.uniform3iv(V(a),u(),c>>2,3*b);else{if(96>=b)for(var d=dc[3*b-1],f=0;f<3*b;f+=3)d[f]=u()[c+4*f>>2],d[f+1]=u()[c+(4*f+4)>>2],d[f+2]=u()[c+(4*f+8)>>2];else d=u().subarray(c>>2,c+12*b>>2);U.uniform3iv(V(a),d)}},emscripten_glUniform4f:function(a,b,
c,d,f){U.uniform4f(V(a),b,c,d,f)},emscripten_glUniform4fv:function(a,b,c){if(2<=T.version)U.uniform4fv(V(a),w(),c>>2,4*b);else{if(72>=b){var d=W[4*b-1],f=w();c>>=2;for(var g=0;g<4*b;g+=4){var k=c+g;d[g]=f[k];d[g+1]=f[k+1];d[g+2]=f[k+2];d[g+3]=f[k+3]}}else d=w().subarray(c>>2,c+16*b>>2);U.uniform4fv(V(a),d)}},emscripten_glUniform4i:function(a,b,c,d,f){U.uniform4i(V(a),b,c,d,f)},emscripten_glUniform4iv:function(a,b,c){if(2<=T.version)U.uniform4iv(V(a),u(),c>>2,4*b);else{if(72>=b)for(var d=dc[4*b-1],
f=0;f<4*b;f+=4)d[f]=u()[c+4*f>>2],d[f+1]=u()[c+(4*f+4)>>2],d[f+2]=u()[c+(4*f+8)>>2],d[f+3]=u()[c+(4*f+12)>>2];else d=u().subarray(c>>2,c+16*b>>2);U.uniform4iv(V(a),d)}},emscripten_glUniformMatrix2fv:function(a,b,c,d){if(2<=T.version)U.uniformMatrix2fv(V(a),!!c,w(),d>>2,4*b);else{if(72>=b)for(var f=W[4*b-1],g=0;g<4*b;g+=4)f[g]=w()[d+4*g>>2],f[g+1]=w()[d+(4*g+4)>>2],f[g+2]=w()[d+(4*g+8)>>2],f[g+3]=w()[d+(4*g+12)>>2];else f=w().subarray(d>>2,d+16*b>>2);U.uniformMatrix2fv(V(a),!!c,f)}},emscripten_glUniformMatrix3fv:function(a,
b,c,d){if(2<=T.version)U.uniformMatrix3fv(V(a),!!c,w(),d>>2,9*b);else{if(32>=b)for(var f=W[9*b-1],g=0;g<9*b;g+=9)f[g]=w()[d+4*g>>2],f[g+1]=w()[d+(4*g+4)>>2],f[g+2]=w()[d+(4*g+8)>>2],f[g+3]=w()[d+(4*g+12)>>2],f[g+4]=w()[d+(4*g+16)>>2],f[g+5]=w()[d+(4*g+20)>>2],f[g+6]=w()[d+(4*g+24)>>2],f[g+7]=w()[d+(4*g+28)>>2],f[g+8]=w()[d+(4*g+32)>>2];else f=w().subarray(d>>2,d+36*b>>2);U.uniformMatrix3fv(V(a),!!c,f)}},emscripten_glUniformMatrix4fv:function(a,b,c,d){if(2<=T.version)U.uniformMatrix4fv(V(a),!!c,w(),
d>>2,16*b);else{if(18>=b){var f=W[16*b-1],g=w();d>>=2;for(var k=0;k<16*b;k+=16){var n=d+k;f[k]=g[n];f[k+1]=g[n+1];f[k+2]=g[n+2];f[k+3]=g[n+3];f[k+4]=g[n+4];f[k+5]=g[n+5];f[k+6]=g[n+6];f[k+7]=g[n+7];f[k+8]=g[n+8];f[k+9]=g[n+9];f[k+10]=g[n+10];f[k+11]=g[n+11];f[k+12]=g[n+12];f[k+13]=g[n+13];f[k+14]=g[n+14];f[k+15]=g[n+15]}}else f=w().subarray(d>>2,d+64*b>>2);U.uniformMatrix4fv(V(a),!!c,f)}},emscripten_glUseProgram:function(a){a=P[a];U.useProgram(a);U.ka=a},emscripten_glVertexAttrib1f:function(a,b){U.vertexAttrib1f(a,
b)},emscripten_glVertexAttrib2fv:function(a,b){U.vertexAttrib2f(a,w()[b>>2],w()[b+4>>2])},emscripten_glVertexAttrib3fv:function(a,b){U.vertexAttrib3f(a,w()[b>>2],w()[b+4>>2],w()[b+8>>2])},emscripten_glVertexAttrib4fv:function(a,b){U.vertexAttrib4f(a,w()[b>>2],w()[b+4>>2],w()[b+8>>2],w()[b+12>>2])},emscripten_glVertexAttribDivisor:function(a,b){U.vertexAttribDivisor(a,b)},emscripten_glVertexAttribIPointer:function(a,b,c,d,f){U.vertexAttribIPointer(a,b,c,d,f)},emscripten_glVertexAttribPointer:function(a,
b,c,d,f,g){U.vertexAttribPointer(a,b,c,!!d,f,g)},emscripten_glViewport:function(a,b,c,d){U.viewport(a,b,c,d)},emscripten_glWaitSync:function(a,b,c,d){U.waitSync(Nb[a],b,(c>>>0)+4294967296*d)},emscripten_receive_on_main_thread_js:function(a,b,c){gc.length=b;c>>=3;for(var d=0;d<b;d++)gc[d]=ia()[c+d];return(0>a?cb[-a-1]:Ic[a]).apply(null,gc)},emscripten_resize_heap:function(a){var b=r().length;a>>>=0;if(a<=b||2147483648<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);d=Math.max(a,
d);0<d%65536&&(d+=65536-d%65536);a:{try{h.grow(Math.min(2147483648,d)-l.byteLength+65535>>>16);q(h.buffer);var f=1;break a}catch(g){}f=void 0}if(f)return!0}return!1},emscripten_set_canvas_element_size:function(a,b,c){return jc(a)?kc(a,b,c):lc(a,b,c)},emscripten_unwind_to_js_event_loop:function(){throw"unwind";},emscripten_webgl_create_context:function(a,b){return nc(a,b)},emscripten_webgl_init_context_attributes:function(a){for(var b=a>>2,c=0;14>c;++c)u()[b+c]=0;u()[b]=u()[b+1]=u()[b+3]=u()[b+4]=
u()[b+8]=u()[b+10]=1;z&&(u()[a+48>>2]=1)},emscripten_webgl_make_context_current:function(a){T=Lb[a];y.La=U=T&&T.v;return!a||U?0:-5},environ_get:sc,environ_sizes_get:tc,exit:function(a){ob(a)},fd_close:uc,fd_pread:vc,fd_read:wc,fd_seek:xc,fd_write:yc,getTempRet0:function(){return Da},invoke_ii:Nc,invoke_iii:Oc,invoke_iiii:Pc,invoke_iiiii:Qc,invoke_iiiiii:Rc,invoke_iiiiiii:Sc,invoke_v:Tc,invoke_vi:Uc,invoke_vii:Vc,invoke_viii:Wc,invoke_viiii:Xc,invoke_viiiii:Yc,invoke_viiiiii:Zc,invoke_viiiiiii:$c,
invoke_viiiiiiii:ad,memory:h||y.wasmMemory,setTempRet0:function(a){Da=a},strftime_l:function(a,b,c,d){return Ec(a,b,c,d)}};
(function(){function a(f,g){y.asm=f.exports;M.U.push(y.asm.emscripten_tls_init);Sa=y.asm.__indirect_function_table;Ua.unshift(y.asm.__wasm_call_ctors);Ga=g;if(!B){var k=M.j.length;M.j.forEach(function(n){M.aa(n,function(){if(!--k&&(H--,y.monitorRunDependencies&&y.monitorRunDependencies(H),0==H&&(null!==Ya&&(clearInterval(Ya),Ya=null),Za))){var p=Za;Za=null;p()}})})}}function b(f){a(f.instance,f.module)}function c(f){return bb().then(function(g){return WebAssembly.instantiate(g,d)}).then(function(g){return g}).then(f,
function(g){E("failed to asynchronously prepare wasm: "+g);Fa(g)})}var d={env:bd,wasi_snapshot_preview1:bd};B||(H++,y.monitorRunDependencies&&y.monitorRunDependencies(H));if(y.instantiateWasm)try{return y.instantiateWasm(d,a)}catch(f){return E("Module.instantiateWasm callback failed with error: "+f),!1}(function(){return Ea||"function"!==typeof WebAssembly.instantiateStreaming||$a()||I.startsWith("file://")||"function"!==typeof fetch?c(b):fetch(I,{credentials:"same-origin"}).then(function(f){return WebAssembly.instantiateStreaming(f,
d).then(b,function(g){E("wasm streaming compile failed: "+g);E("falling back to ArrayBuffer instantiation");return c(b)})})})().catch(ma);return{}})();y.___wasm_call_ctors=function(){return(y.___wasm_call_ctors=y.asm.__wasm_call_ctors).apply(null,arguments)};y._canvas_destroy=function(){return(y._canvas_destroy=y.asm.canvas_destroy).apply(null,arguments)};y._canvas_saveLayer=function(){return(y._canvas_saveLayer=y.asm.canvas_saveLayer).apply(null,arguments)};
y._canvas_save=function(){return(y._canvas_save=y.asm.canvas_save).apply(null,arguments)};y._canvas_restore=function(){return(y._canvas_restore=y.asm.canvas_restore).apply(null,arguments)};y._canvas_restoreToCount=function(){return(y._canvas_restoreToCount=y.asm.canvas_restoreToCount).apply(null,arguments)};y._canvas_getSaveCount=function(){return(y._canvas_getSaveCount=y.asm.canvas_getSaveCount).apply(null,arguments)};
y._canvas_translate=function(){return(y._canvas_translate=y.asm.canvas_translate).apply(null,arguments)};y._canvas_scale=function(){return(y._canvas_scale=y.asm.canvas_scale).apply(null,arguments)};y._canvas_rotate=function(){return(y._canvas_rotate=y.asm.canvas_rotate).apply(null,arguments)};y._canvas_skew=function(){return(y._canvas_skew=y.asm.canvas_skew).apply(null,arguments)};y._canvas_transform=function(){return(y._canvas_transform=y.asm.canvas_transform).apply(null,arguments)};
y._canvas_clipRect=function(){return(y._canvas_clipRect=y.asm.canvas_clipRect).apply(null,arguments)};y._canvas_clipRRect=function(){return(y._canvas_clipRRect=y.asm.canvas_clipRRect).apply(null,arguments)};y._canvas_clipPath=function(){return(y._canvas_clipPath=y.asm.canvas_clipPath).apply(null,arguments)};y._canvas_drawColor=function(){return(y._canvas_drawColor=y.asm.canvas_drawColor).apply(null,arguments)};
y._canvas_drawLine=function(){return(y._canvas_drawLine=y.asm.canvas_drawLine).apply(null,arguments)};y._canvas_drawPaint=function(){return(y._canvas_drawPaint=y.asm.canvas_drawPaint).apply(null,arguments)};y._canvas_drawRect=function(){return(y._canvas_drawRect=y.asm.canvas_drawRect).apply(null,arguments)};y._canvas_drawRRect=function(){return(y._canvas_drawRRect=y.asm.canvas_drawRRect).apply(null,arguments)};
y._canvas_drawDRRect=function(){return(y._canvas_drawDRRect=y.asm.canvas_drawDRRect).apply(null,arguments)};y._canvas_drawOval=function(){return(y._canvas_drawOval=y.asm.canvas_drawOval).apply(null,arguments)};y._canvas_drawCircle=function(){return(y._canvas_drawCircle=y.asm.canvas_drawCircle).apply(null,arguments)};y._canvas_drawArc=function(){return(y._canvas_drawArc=y.asm.canvas_drawArc).apply(null,arguments)};
y._canvas_drawPath=function(){return(y._canvas_drawPath=y.asm.canvas_drawPath).apply(null,arguments)};y._canvas_drawPicture=function(){return(y._canvas_drawPicture=y.asm.canvas_drawPicture).apply(null,arguments)};y._canvas_getTransform=function(){return(y._canvas_getTransform=y.asm.canvas_getTransform).apply(null,arguments)};y._canvas_getLocalClipBounds=function(){return(y._canvas_getLocalClipBounds=y.asm.canvas_getLocalClipBounds).apply(null,arguments)};
y._canvas_getDeviceClipBounds=function(){return(y._canvas_getDeviceClipBounds=y.asm.canvas_getDeviceClipBounds).apply(null,arguments)};y._contourMeasureIter_create=function(){return(y._contourMeasureIter_create=y.asm.contourMeasureIter_create).apply(null,arguments)};y._contourMeasureIter_next=function(){return(y._contourMeasureIter_next=y.asm.contourMeasureIter_next).apply(null,arguments)};
y._contourMeasure_dispose=function(){return(y._contourMeasure_dispose=y.asm.contourMeasure_dispose).apply(null,arguments)};y._contourMeasure_length=function(){return(y._contourMeasure_length=y.asm.contourMeasure_length).apply(null,arguments)};y._contourMeasure_isClosed=function(){return(y._contourMeasure_isClosed=y.asm.contourMeasure_isClosed).apply(null,arguments)};y._contourMeasure_getPosTan=function(){return(y._contourMeasure_getPosTan=y.asm.contourMeasure_getPosTan).apply(null,arguments)};
y._contourMeasure_getSegment=function(){return(y._contourMeasure_getSegment=y.asm.contourMeasure_getSegment).apply(null,arguments)};y._paint_create=function(){return(y._paint_create=y.asm.paint_create).apply(null,arguments)};y._paint_destroy=function(){return(y._paint_destroy=y.asm.paint_destroy).apply(null,arguments)};y._paint_setBlendMode=function(){return(y._paint_setBlendMode=y.asm.paint_setBlendMode).apply(null,arguments)};
y._paint_setStyle=function(){return(y._paint_setStyle=y.asm.paint_setStyle).apply(null,arguments)};y._paint_getStyle=function(){return(y._paint_getStyle=y.asm.paint_getStyle).apply(null,arguments)};y._paint_setStrokeWidth=function(){return(y._paint_setStrokeWidth=y.asm.paint_setStrokeWidth).apply(null,arguments)};y._paint_getStrokeWidth=function(){return(y._paint_getStrokeWidth=y.asm.paint_getStrokeWidth).apply(null,arguments)};
y._paint_setStrokeCap=function(){return(y._paint_setStrokeCap=y.asm.paint_setStrokeCap).apply(null,arguments)};y._paint_getStrokeCap=function(){return(y._paint_getStrokeCap=y.asm.paint_getStrokeCap).apply(null,arguments)};y._paint_setStrokeJoin=function(){return(y._paint_setStrokeJoin=y.asm.paint_setStrokeJoin).apply(null,arguments)};y._paint_getStrokeJoin=function(){return(y._paint_getStrokeJoin=y.asm.paint_getStrokeJoin).apply(null,arguments)};
y._paint_setAntiAlias=function(){return(y._paint_setAntiAlias=y.asm.paint_setAntiAlias).apply(null,arguments)};y._paint_getAntiAlias=function(){return(y._paint_getAntiAlias=y.asm.paint_getAntiAlias).apply(null,arguments)};y._paint_setColorInt=function(){return(y._paint_setColorInt=y.asm.paint_setColorInt).apply(null,arguments)};y._paint_getColorInt=function(){return(y._paint_getColorInt=y.asm.paint_getColorInt).apply(null,arguments)};
y._paint_setMiterLimit=function(){return(y._paint_setMiterLimit=y.asm.paint_setMiterLimit).apply(null,arguments)};y._paint_getMiterLImit=function(){return(y._paint_getMiterLImit=y.asm.paint_getMiterLImit).apply(null,arguments)};y._path_create=function(){return(y._path_create=y.asm.path_create).apply(null,arguments)};y._path_destroy=function(){return(y._path_destroy=y.asm.path_destroy).apply(null,arguments)};y._path_copy=function(){return(y._path_copy=y.asm.path_copy).apply(null,arguments)};
y._path_setFillType=function(){return(y._path_setFillType=y.asm.path_setFillType).apply(null,arguments)};y._path_getFillType=function(){return(y._path_getFillType=y.asm.path_getFillType).apply(null,arguments)};y._path_moveTo=function(){return(y._path_moveTo=y.asm.path_moveTo).apply(null,arguments)};y._path_relativeMoveTo=function(){return(y._path_relativeMoveTo=y.asm.path_relativeMoveTo).apply(null,arguments)};y._path_lineTo=function(){return(y._path_lineTo=y.asm.path_lineTo).apply(null,arguments)};
y._path_relativeLineTo=function(){return(y._path_relativeLineTo=y.asm.path_relativeLineTo).apply(null,arguments)};y._path_quadraticBezierTo=function(){return(y._path_quadraticBezierTo=y.asm.path_quadraticBezierTo).apply(null,arguments)};y._path_relativeQuadraticBezierTo=function(){return(y._path_relativeQuadraticBezierTo=y.asm.path_relativeQuadraticBezierTo).apply(null,arguments)};y._path_cubicTo=function(){return(y._path_cubicTo=y.asm.path_cubicTo).apply(null,arguments)};
y._path_relativeCubicTo=function(){return(y._path_relativeCubicTo=y.asm.path_relativeCubicTo).apply(null,arguments)};y._path_conicTo=function(){return(y._path_conicTo=y.asm.path_conicTo).apply(null,arguments)};y._path_relativeConicTo=function(){return(y._path_relativeConicTo=y.asm.path_relativeConicTo).apply(null,arguments)};y._path_arcToOval=function(){return(y._path_arcToOval=y.asm.path_arcToOval).apply(null,arguments)};
y._path_arcToRotated=function(){return(y._path_arcToRotated=y.asm.path_arcToRotated).apply(null,arguments)};y._path_relativeArcToRotated=function(){return(y._path_relativeArcToRotated=y.asm.path_relativeArcToRotated).apply(null,arguments)};y._path_addRect=function(){return(y._path_addRect=y.asm.path_addRect).apply(null,arguments)};y._path_addOval=function(){return(y._path_addOval=y.asm.path_addOval).apply(null,arguments)};
y._path_addArc=function(){return(y._path_addArc=y.asm.path_addArc).apply(null,arguments)};y._path_addPolygon=function(){return(y._path_addPolygon=y.asm.path_addPolygon).apply(null,arguments)};y._path_addRRect=function(){return(y._path_addRRect=y.asm.path_addRRect).apply(null,arguments)};y._path_addPath=function(){return(y._path_addPath=y.asm.path_addPath).apply(null,arguments)};y._path_close=function(){return(y._path_close=y.asm.path_close).apply(null,arguments)};
y._path_reset=function(){return(y._path_reset=y.asm.path_reset).apply(null,arguments)};y._path_contains=function(){return(y._path_contains=y.asm.path_contains).apply(null,arguments)};y._path_transform=function(){return(y._path_transform=y.asm.path_transform).apply(null,arguments)};y._path_getBounds=function(){return(y._path_getBounds=y.asm.path_getBounds).apply(null,arguments)};y._path_combine=function(){return(y._path_combine=y.asm.path_combine).apply(null,arguments)};
y._pictureRecorder_create=function(){return(y._pictureRecorder_create=y.asm.pictureRecorder_create).apply(null,arguments)};y._pictureRecorder_dispose=function(){return(y._pictureRecorder_dispose=y.asm.pictureRecorder_dispose).apply(null,arguments)};y._pictureRecorder_beginRecording=function(){return(y._pictureRecorder_beginRecording=y.asm.pictureRecorder_beginRecording).apply(null,arguments)};
y._pictureRecorder_endRecording=function(){return(y._pictureRecorder_endRecording=y.asm.pictureRecorder_endRecording).apply(null,arguments)};y._picture_dispose=function(){return(y._picture_dispose=y.asm.picture_dispose).apply(null,arguments)};y._picture_approximateBytesUsed=function(){return(y._picture_approximateBytesUsed=y.asm.picture_approximateBytesUsed).apply(null,arguments)};
y._surface_createFromCanvas=function(){return(y._surface_createFromCanvas=y.asm.surface_createFromCanvas).apply(null,arguments)};y._surface_destroy=function(){return(y._surface_destroy=y.asm.surface_destroy).apply(null,arguments)};y._surface_setCanvasSize=function(){return(y._surface_setCanvasSize=y.asm.surface_setCanvasSize).apply(null,arguments)};y._surface_renderPicture=function(){return(y._surface_renderPicture=y.asm.surface_renderPicture).apply(null,arguments)};
var ic=y._emscripten_dispatch_to_thread_=function(){return(ic=y._emscripten_dispatch_to_thread_=y.asm.emscripten_dispatch_to_thread_).apply(null,arguments)},Mc=y.___errno_location=function(){return(Mc=y.___errno_location=y.asm.__errno_location).apply(null,arguments)},jb=y._pthread_self=function(){return(jb=y._pthread_self=y.asm.pthread_self).apply(null,arguments)},Bb=y._free=function(){return(Bb=y._free=y.asm.free).apply(null,arguments)},Vb=y._malloc=function(){return(Vb=y._malloc=y.asm.malloc).apply(null,
arguments)};y._emscripten_tls_init=function(){return(y._emscripten_tls_init=y.asm.emscripten_tls_init).apply(null,arguments)};var kb=y._emscripten_main_thread_process_queued_calls=function(){return(kb=y._emscripten_main_thread_process_queued_calls=y.asm.emscripten_main_thread_process_queued_calls).apply(null,arguments)},Jc=y.__emscripten_thread_init=function(){return(Jc=y.__emscripten_thread_init=y.asm._emscripten_thread_init).apply(null,arguments)};
y._emscripten_current_thread_process_queued_calls=function(){return(y._emscripten_current_thread_process_queued_calls=y.asm.emscripten_current_thread_process_queued_calls).apply(null,arguments)};
var Kc=y._emscripten_sync_run_in_main_thread_4=function(){return(Kc=y._emscripten_sync_run_in_main_thread_4=y.asm.emscripten_sync_run_in_main_thread_4).apply(null,arguments)},fc=y._emscripten_run_in_main_runtime_thread_js=function(){return(fc=y._emscripten_run_in_main_runtime_thread_js=y.asm.emscripten_run_in_main_runtime_thread_js).apply(null,arguments)},gb=y.__emscripten_thread_free_data=function(){return(gb=y.__emscripten_thread_free_data=y.asm._emscripten_thread_free_data).apply(null,arguments)};
y.__emscripten_thread_exit=function(){return(y.__emscripten_thread_exit=y.asm._emscripten_thread_exit).apply(null,arguments)};
var zb=y._memalign=function(){return(zb=y._memalign=y.asm.memalign).apply(null,arguments)},Z=y._setThrew=function(){return(Z=y._setThrew=y.asm.setThrew).apply(null,arguments)},mb=y._emscripten_stack_set_limits=function(){return(mb=y._emscripten_stack_set_limits=y.asm.emscripten_stack_set_limits).apply(null,arguments)},K=y.stackSave=function(){return(K=y.stackSave=y.asm.stackSave).apply(null,arguments)},L=y.stackRestore=function(){return(L=y.stackRestore=y.asm.stackRestore).apply(null,arguments)},
ec=y.stackAlloc=function(){return(ec=y.stackAlloc=y.asm.stackAlloc).apply(null,arguments)},Lc=y.__emscripten_main_thread_futex=246984,hb=y.__emscripten_allow_main_runtime_queued_calls=243904;function Vc(a,b,c){var d=K();try{J(a)(b,c)}catch(f){L(d);if(f!==f+0&&"longjmp"!==f)throw f;Z(1,0)}}function Oc(a,b,c){var d=K();try{return J(a)(b,c)}catch(f){L(d);if(f!==f+0&&"longjmp"!==f)throw f;Z(1,0)}}
function ad(a,b,c,d,f,g,k,n,p){var t=K();try{J(a)(b,c,d,f,g,k,n,p)}catch(v){L(t);if(v!==v+0&&"longjmp"!==v)throw v;Z(1,0)}}function Tc(a){var b=K();try{J(a)()}catch(c){L(b);if(c!==c+0&&"longjmp"!==c)throw c;Z(1,0)}}function Nc(a,b){var c=K();try{return J(a)(b)}catch(d){L(c);if(d!==d+0&&"longjmp"!==d)throw d;Z(1,0)}}function Uc(a,b){var c=K();try{J(a)(b)}catch(d){L(c);if(d!==d+0&&"longjmp"!==d)throw d;Z(1,0)}}
function Qc(a,b,c,d,f){var g=K();try{return J(a)(b,c,d,f)}catch(k){L(g);if(k!==k+0&&"longjmp"!==k)throw k;Z(1,0)}}function Pc(a,b,c,d){var f=K();try{return J(a)(b,c,d)}catch(g){L(f);if(g!==g+0&&"longjmp"!==g)throw g;Z(1,0)}}function Wc(a,b,c,d){var f=K();try{J(a)(b,c,d)}catch(g){L(f);if(g!==g+0&&"longjmp"!==g)throw g;Z(1,0)}}function Yc(a,b,c,d,f,g){var k=K();try{J(a)(b,c,d,f,g)}catch(n){L(k);if(n!==n+0&&"longjmp"!==n)throw n;Z(1,0)}}
function Sc(a,b,c,d,f,g,k){var n=K();try{return J(a)(b,c,d,f,g,k)}catch(p){L(n);if(p!==p+0&&"longjmp"!==p)throw p;Z(1,0)}}function Rc(a,b,c,d,f,g){var k=K();try{return J(a)(b,c,d,f,g)}catch(n){L(k);if(n!==n+0&&"longjmp"!==n)throw n;Z(1,0)}}function Xc(a,b,c,d,f){var g=K();try{J(a)(b,c,d,f)}catch(k){L(g);if(k!==k+0&&"longjmp"!==k)throw k;Z(1,0)}}function Zc(a,b,c,d,f,g,k){var n=K();try{J(a)(b,c,d,f,g,k)}catch(p){L(n);if(p!==p+0&&"longjmp"!==p)throw p;Z(1,0)}}
function $c(a,b,c,d,f,g,k,n){var p=K();try{J(a)(b,c,d,f,g,k,n)}catch(t){L(p);if(t!==t+0&&"longjmp"!==t)throw t;Z(1,0)}}y.keepRuntimeAlive=ya;y.PThread=M;y.PThread=M;y.wasmMemory=h;y.ExitStatus=xa;var cd;function xa(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}Za=function dd(){cd||ed();cd||(Za=dd)};
function ed(){function a(){if(!cd&&(cd=!0,y.calledRun=!0,!Ha)){B||db(Ua);la(y);if(y.onRuntimeInitialized)y.onRuntimeInitialized();if(!B){if(y.postRun)for("function"==typeof y.postRun&&(y.postRun=[y.postRun]);y.postRun.length;){var b=y.postRun.shift();Va.unshift(b)}db(Va)}}}if(!(0<H))if(B)la(y),B||db(Ua),postMessage({cmd:"loaded"});else{if(y.preRun)for("function"==typeof y.preRun&&(y.preRun=[y.preRun]);y.preRun.length;)Xa();db(Ta);0<H||(y.setStatus?(y.setStatus("Running..."),setTimeout(function(){setTimeout(function(){y.setStatus("")},
1);a()},1)):a())}}y.run=ed;function ob(a){if(B)throw nb(a),"unwind";ya()||B||M.fa();if(!ya()){M.fa();if(y.onExit)y.onExit(a);Ha=!0}pa(a,new xa(a))}if(y.preInit)for("function"==typeof y.preInit&&(y.preInit=[y.preInit]);0<y.preInit.length;)y.preInit.pop()();B&&(noExitRuntime=!1,M.ta());ed();
return skwasm.ready
}
);
})();
if (typeof exports === 'object' && typeof module === 'object')
module.exports = skwasm;
else if (typeof define === 'function' && define['amd'])
define([], function() { return skwasm; });
else if (typeof exports === 'object')
exports["skwasm"] = skwasm;

@ -0,0 +1 @@
"use strict";var Module={};if(typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string"){var nodeWorkerThreads=require("worker_threads");var parentPort=nodeWorkerThreads.parentPort;parentPort.on("message",function(data){onmessage({data:data})});var nodeFS=require("fs");Object.assign(global,{self:global,require:require,Module:Module,location:{href:__filename},Worker:nodeWorkerThreads.Worker,importScripts:function(f){(0,eval)(nodeFS.readFileSync(f,"utf8"))},postMessage:function(msg){parentPort.postMessage(msg)},performance:global.performance||{now:function(){return Date.now()}}})}function threadPrintErr(){var text=Array.prototype.slice.call(arguments).join(" ");console.error(text)}function threadAlert(){var text=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:text,threadId:Module["_pthread_self"]()})}var err=threadPrintErr;self.alert=threadAlert;Module["instantiateWasm"]=((info,receiveInstance)=>{var instance=new WebAssembly.Instance(Module["wasmModule"],info);receiveInstance(instance);Module["wasmModule"]=null;return instance.exports});self.onmessage=(e=>{try{if(e.data.cmd==="load"){Module["wasmModule"]=e.data.wasmModule;Module["wasmMemory"]=e.data.wasmMemory;Module["buffer"]=Module["wasmMemory"].buffer;Module["ENVIRONMENT_IS_PTHREAD"]=true;if(typeof e.data.urlOrBlob==="string"){importScripts(e.data.urlOrBlob)}else{var objectUrl=URL.createObjectURL(e.data.urlOrBlob);importScripts(objectUrl);URL.revokeObjectURL(objectUrl)}skwasm(Module).then(function(instance){Module=instance})}else if(e.data.cmd==="run"){Module["__performance_now_clock_drift"]=performance.now()-e.data.time;Module["__emscripten_thread_init"](e.data.threadInfoStruct,/*isMainBrowserThread=*/0,/*isMainRuntimeThread=*/0,/*canBlock=*/1);Module["establishStackSpace"]();Module["PThread"].receiveObjectTransfer(e.data);Module["PThread"].threadInit();try{var result=Module["invokeEntryPoint"](e.data.start_routine,e.data.arg);if(Module["keepRuntimeAlive"]()){Module["PThread"].setExitStatus(result)}else{Module["__emscripten_thread_exit"](result)}}catch(ex){if(ex!="unwind"){if(ex instanceof Module["ExitStatus"]){if(Module["keepRuntimeAlive"]()){}else{Module["__emscripten_thread_exit"](ex.status)}}else{throw ex}}}}else if(e.data.cmd==="cancel"){if(Module["_pthread_self"]()){Module["__emscripten_thread_exit"](-1)}}else if(e.data.target==="setimmediate"){}else if(e.data.cmd==="processThreadQueue"){if(Module["_pthread_self"]()){Module["_emscripten_current_thread_process_queued_calls"]()}}else{err("worker.js received unknown command "+e.data.cmd);err(e.data)}}catch(ex){err("worker.js onmessage() captured an uncaught exception: "+ex);if(ex&&ex.stack)err(ex.stack);throw ex}});

Binary file not shown.

After

Width:  |  Height:  |  Size: 917 B

@ -0,0 +1,383 @@
// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
if (!_flutter) {
var _flutter = {};
}
_flutter.loader = null;
(function () {
"use strict";
const baseUri = ensureTrailingSlash(getBaseURI());
function getBaseURI() {
const base = document.querySelector("base");
return (base && base.getAttribute("href")) || "";
}
function ensureTrailingSlash(uri) {
if (uri == "") {
return uri;
}
return uri.endsWith("/") ? uri : `${uri}/`;
}
/**
* Wraps `promise` in a timeout of the given `duration` in ms.
*
* Resolves/rejects with whatever the original `promises` does, or rejects
* if `promise` takes longer to complete than `duration`. In that case,
* `debugName` is used to compose a legible error message.
*
* If `duration` is < 0, the original `promise` is returned unchanged.
* @param {Promise} promise
* @param {number} duration
* @param {string} debugName
* @returns {Promise} a wrapped promise.
*/
async function timeout(promise, duration, debugName) {
if (duration < 0) {
return promise;
}
let timeoutId;
const _clock = new Promise((_, reject) => {
timeoutId = setTimeout(() => {
reject(
new Error(
`${debugName} took more than ${duration}ms to resolve. Moving on.`,
{
cause: timeout,
}
)
);
}, duration);
});
return Promise.race([promise, _clock]).finally(() => {
clearTimeout(timeoutId);
});
}
/**
* Handles the creation of a TrustedTypes `policy` that validates URLs based
* on an (optional) incoming array of RegExes.
*/
class FlutterTrustedTypesPolicy {
/**
* Constructs the policy.
* @param {[RegExp]} validPatterns the patterns to test URLs
* @param {String} policyName the policy name (optional)
*/
constructor(validPatterns, policyName = "flutter-js") {
const patterns = validPatterns || [
/\.js$/,
];
if (window.trustedTypes) {
this.policy = trustedTypes.createPolicy(policyName, {
createScriptURL: function(url) {
const parsed = new URL(url, window.location);
const file = parsed.pathname.split("/").pop();
const matches = patterns.some((pattern) => pattern.test(file));
if (matches) {
return parsed.toString();
}
console.error(
"URL rejected by TrustedTypes policy",
policyName, ":", url, "(download prevented)");
}
});
}
}
}
/**
* Handles loading/reloading Flutter's service worker, if configured.
*
* @see: https://developers.google.com/web/fundamentals/primers/service-workers
*/
class FlutterServiceWorkerLoader {
/**
* Injects a TrustedTypesPolicy (or undefined if the feature is not supported).
* @param {TrustedTypesPolicy | undefined} policy
*/
setTrustedTypesPolicy(policy) {
this._ttPolicy = policy;
}
/**
* Returns a Promise that resolves when the latest Flutter service worker,
* configured by `settings` has been loaded and activated.
*
* Otherwise, the promise is rejected with an error message.
* @param {*} settings Service worker settings
* @returns {Promise} that resolves when the latest serviceWorker is ready.
*/
loadServiceWorker(settings) {
if (settings == null) {
// In the future, settings = null -> uninstall service worker?
console.debug("Null serviceWorker configuration. Skipping.");
return Promise.resolve();
}
if (!("serviceWorker" in navigator)) {
let errorMessage = "Service Worker API unavailable.";
if (!window.isSecureContext) {
errorMessage += "\nThe current context is NOT secure."
errorMessage += "\nRead more: https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts";
}
return Promise.reject(
new Error(errorMessage)
);
}
const {
serviceWorkerVersion,
serviceWorkerUrl = `${baseUri}flutter_service_worker.js?v=${serviceWorkerVersion}`,
timeoutMillis = 4000,
} = settings;
// Apply the TrustedTypes policy, if present.
let url = serviceWorkerUrl;
if (this._ttPolicy != null) {
url = this._ttPolicy.createScriptURL(url);
}
const serviceWorkerActivation = navigator.serviceWorker
.register(url)
.then(this._getNewServiceWorker)
.then(this._waitForServiceWorkerActivation);
// Timeout race promise
return timeout(
serviceWorkerActivation,
timeoutMillis,
"prepareServiceWorker"
);
}
/**
* Returns the latest service worker for the given `serviceWorkerRegistrationPromise`.
*
* This might return the current service worker, if there's no new service worker
* awaiting to be installed/updated.
*
* @param {Promise<ServiceWorkerRegistration>} serviceWorkerRegistrationPromise
* @returns {Promise<ServiceWorker>}
*/
async _getNewServiceWorker(serviceWorkerRegistrationPromise) {
const reg = await serviceWorkerRegistrationPromise;
if (!reg.active && (reg.installing || reg.waiting)) {
// No active web worker and we have installed or are installing
// one for the first time. Simply wait for it to activate.
console.debug("Installing/Activating first service worker.");
return reg.installing || reg.waiting;
} else if (!reg.active.scriptURL.endsWith(serviceWorkerVersion)) {
// When the app updates the serviceWorkerVersion changes, so we
// need to ask the service worker to update.
return reg.update().then((newReg) => {
console.debug("Updating service worker.");
return newReg.installing || newReg.waiting || newReg.active;
});
} else {
console.debug("Loading from existing service worker.");
return reg.active;
}
}
/**
* Returns a Promise that resolves when the `latestServiceWorker` changes its
* state to "activated".
*
* @param {Promise<ServiceWorker>} latestServiceWorkerPromise
* @returns {Promise<void>}
*/
async _waitForServiceWorkerActivation(latestServiceWorkerPromise) {
const serviceWorker = await latestServiceWorkerPromise;
if (!serviceWorker || serviceWorker.state == "activated") {
if (!serviceWorker) {
return Promise.reject(
new Error("Cannot activate a null service worker!")
);
} else {
console.debug("Service worker already active.");
return Promise.resolve();
}
}
return new Promise((resolve, _) => {
serviceWorker.addEventListener("statechange", () => {
if (serviceWorker.state == "activated") {
console.debug("Activated new service worker.");
resolve();
}
});
});
}
}
/**
* Handles injecting the main Flutter web entrypoint (main.dart.js), and notifying
* the user when Flutter is ready, through `didCreateEngineInitializer`.
*
* @see https://docs.flutter.dev/development/platform-integration/web/initialization
*/
class FlutterEntrypointLoader {
/**
* Creates a FlutterEntrypointLoader.
*/
constructor() {
// Watchdog to prevent injecting the main entrypoint multiple times.
this._scriptLoaded = false;
}
/**
* Injects a TrustedTypesPolicy (or undefined if the feature is not supported).
* @param {TrustedTypesPolicy | undefined} policy
*/
setTrustedTypesPolicy(policy) {
this._ttPolicy = policy;
}
/**
* Loads flutter main entrypoint, specified by `entrypointUrl`, and calls a
* user-specified `onEntrypointLoaded` callback with an EngineInitializer
* object when it's done.
*
* @param {*} options
* @returns {Promise | undefined} that will eventually resolve with an
* EngineInitializer, or will be rejected with the error caused by the loader.
* Returns undefined when an `onEntrypointLoaded` callback is supplied in `options`.
*/
async loadEntrypoint(options) {
const { entrypointUrl = `${baseUri}main.dart.js`, onEntrypointLoaded } =
options || {};
return this._loadEntrypoint(entrypointUrl, onEntrypointLoaded);
}
/**
* Resolves the promise created by loadEntrypoint, and calls the `onEntrypointLoaded`
* function supplied by the user (if needed).
*
* Called by Flutter through `_flutter.loader.didCreateEngineInitializer` method,
* which is bound to the correct instance of the FlutterEntrypointLoader by
* the FlutterLoader object.
*
* @param {Function} engineInitializer @see https://github.com/flutter/engine/blob/main/lib/web_ui/lib/src/engine/js_interop/js_loader.dart#L42
*/
didCreateEngineInitializer(engineInitializer) {
if (typeof this._didCreateEngineInitializerResolve === "function") {
this._didCreateEngineInitializerResolve(engineInitializer);
// Remove the resolver after the first time, so Flutter Web can hot restart.
this._didCreateEngineInitializerResolve = null;
// Make the engine revert to "auto" initialization on hot restart.
delete _flutter.loader.didCreateEngineInitializer;
}
if (typeof this._onEntrypointLoaded === "function") {
this._onEntrypointLoaded(engineInitializer);
}
}
/**
* Injects a script tag into the DOM, and configures this loader to be able to
* handle the "entrypoint loaded" notifications received from Flutter web.
*
* @param {string} entrypointUrl the URL of the script that will initialize
* Flutter.
* @param {Function} onEntrypointLoaded a callback that will be called when
* Flutter web notifies this object that the entrypoint is
* loaded.
* @returns {Promise | undefined} a Promise that resolves when the entrypoint
* is loaded, or undefined if `onEntrypointLoaded`
* is a function.
*/
_loadEntrypoint(entrypointUrl, onEntrypointLoaded) {
const useCallback = typeof onEntrypointLoaded === "function";
if (!this._scriptLoaded) {
this._scriptLoaded = true;
const scriptTag = this._createScriptTag(entrypointUrl);
if (useCallback) {
// Just inject the script tag, and return nothing; Flutter will call
// `didCreateEngineInitializer` when it's done.
console.debug("Injecting <script> tag. Using callback.");
this._onEntrypointLoaded = onEntrypointLoaded;
document.body.append(scriptTag);
} else {
// Inject the script tag and return a promise that will get resolved
// with the EngineInitializer object from Flutter when it calls
// `didCreateEngineInitializer` later.
return new Promise((resolve, reject) => {
console.debug(
"Injecting <script> tag. Using Promises. Use the callback approach instead!"
);
this._didCreateEngineInitializerResolve = resolve;
scriptTag.addEventListener("error", reject);
document.body.append(scriptTag);
});
}
}
}
/**
* Creates a script tag for the given URL.
* @param {string} url
* @returns {HTMLScriptElement}
*/
_createScriptTag(url) {
const scriptTag = document.createElement("script");
scriptTag.type = "application/javascript";
// Apply TrustedTypes validation, if available.
let trustedUrl = url;
if (this._ttPolicy != null) {
trustedUrl = this._ttPolicy.createScriptURL(url);
}
scriptTag.src = trustedUrl;
return scriptTag;
}
}
/**
* The public interface of _flutter.loader. Exposes two methods:
* * loadEntrypoint (which coordinates the default Flutter web loading procedure)
* * didCreateEngineInitializer (which is called by Flutter to notify that its
* Engine is ready to be initialized)
*/
class FlutterLoader {
/**
* Initializes the Flutter web app.
* @param {*} options
* @returns {Promise?} a (Deprecated) Promise that will eventually resolve
* with an EngineInitializer, or will be rejected with
* any error caused by the loader. Or Null, if the user
* supplies an `onEntrypointLoaded` Function as an option.
*/
async loadEntrypoint(options) {
const { serviceWorker, ...entrypoint } = options || {};
// A Trusted Types policy that is going to be used by the loader.
const flutterTT = new FlutterTrustedTypesPolicy();
// The FlutterServiceWorkerLoader instance could be injected as a dependency
// (and dynamically imported from a module if not present).
const serviceWorkerLoader = new FlutterServiceWorkerLoader();
serviceWorkerLoader.setTrustedTypesPolicy(flutterTT.policy);
await serviceWorkerLoader.loadServiceWorker(serviceWorker).catch(e => {
// Regardless of what happens with the injection of the SW, the show must go on
console.warn("Exception while loading service worker:", e);
});
// The FlutterEntrypointLoader instance could be injected as a dependency
// (and dynamically imported from a module if not present).
const entrypointLoader = new FlutterEntrypointLoader();
entrypointLoader.setTrustedTypesPolicy(flutterTT.policy);
// Install the `didCreateEngineInitializer` listener where Flutter web expects it to be.
this.didCreateEngineInitializer =
entrypointLoader.didCreateEngineInitializer.bind(entrypointLoader);
return entrypointLoader.loadEntrypoint(entrypoint);
}
}
_flutter.loader = new FlutterLoader();
})();

@ -0,0 +1,217 @@
'use strict';
const MANIFEST = 'flutter-app-manifest';
const TEMP = 'flutter-temp-cache';
const CACHE_NAME = 'flutter-app-cache';
const RESOURCES = {"flutter.js": "6fef97aeca90b426343ba6c5c9dc5d4a",
"canvaskit/canvaskit.js": "76f7d822f42397160c5dfc69cbc9b2de",
"canvaskit/canvaskit.wasm": "f48eaf57cada79163ec6dec7929486ea",
"canvaskit/skwasm.worker.js": "19659053a277272607529ef87acf9d8a",
"canvaskit/skwasm.wasm": "6711032e17bf49924b2b001cef0d3ea3",
"canvaskit/chromium/canvaskit.js": "8c8392ce4a4364cbb240aa09b5652e05",
"canvaskit/chromium/canvaskit.wasm": "fc18c3010856029414b70cae1afc5cd9",
"canvaskit/skwasm.js": "1df4d741f441fa1a4d10530ced463ef8",
"assets/assets/shaders/ui_glitch.frag": "97b58db3bd4a0fd72623cc29af45f190",
"assets/assets/shaders/orb_shader.frag": "7f53dc1f64cf4ef8e12c5171dcd7efc5",
"assets/assets/fonts/Exo-Medium.ttf": "822a35349a144a97433b82d94df61d1a",
"assets/assets/fonts/OFL.txt": "e542a680112942b035ac18d476288952",
"assets/assets/fonts/Exo-Bold.ttf": "a939d1d0769c88bde068c8570e5f3f22",
"assets/assets/images/bg-light-receive.png": "2f6ba99f8eea020027e10b9778b666ad",
"assets/assets/images/bg-base.jpg": "3c258b33e7a71dee7ae8e3c4e83dd04f",
"assets/assets/images/button-start-hover.png": "39d7ee03962ad766b66be34336343e75",
"assets/assets/images/particle-wave.png": "d6b73c1346b8ffd48de351cfab3daaad",
"assets/assets/images/fg-light-emit.png": "d398c8fab13becd0da8995be2a3c7799",
"assets/assets/images/mg-light-emit.png": "076ed5490a67d7d300832d86778adfc0",
"assets/assets/images/button-start.png": "748701e42abc14ebc65963234d9a7b6a",
"assets/assets/images/select-left.png": "b3fbaf9a7b1b72c26880c5bdfde6e33c",
"assets/assets/images/mg-light-receive.png": "6e0e1018b6cf20f4747f5c4ef3e6f58d",
"assets/assets/images/mg-base.png": "deba0329701a59c12f8904235539de19",
"assets/assets/images/fg-base.png": "9742f524c248f9795e59132bda584982",
"assets/assets/images/fg-light-receive.png": "9981f29fa2d3814768cbf9695eb7b861",
"assets/assets/images/select-right.png": "a6c979b3eae49cde6c7d5797dc357034",
"assets/shaders/ink_sparkle.frag": "f8b80e740d33eb157090be4e995febdf",
"assets/fonts/MaterialIcons-Regular.otf": "62ec8220af1fb03e1c20cfa38781e17e",
"assets/NOTICES": "3b997f8ca0833bdb9abc30a695c53b04",
"assets/packages/cupertino_icons/assets/CupertinoIcons.ttf": "57d849d738900cfd590e9adc7e208250",
"assets/FontManifest.json": "06438dbc68e4dc4c7665d2e03e14e76d",
"assets/AssetManifest.json": "183c6882211bd7760ebf1ff3cbfcd847",
"assets/AssetManifest.smcbin": "a6451c61a133950f6070166a1e3948bf",
"index.html": "6e98f718316a830b5f0abe0753a6dc74",
"/": "6e98f718316a830b5f0abe0753a6dc74",
"favicon.png": "5dcef449791fa27946b3d35ad8803796",
"version.json": "408e32657aac2b0495551d3fc84cc2ff",
"icons/Icon-maskable-192.png": "c457ef57daa1d16f64b27b786ec2ea3c",
"icons/Icon-192.png": "ac9a721a12bbc803b44f645561ecb1e1",
"icons/Icon-512.png": "96e752610906ba2a93c65f8abe1645f1",
"icons/Icon-maskable-512.png": "301a7604d45b3e739efc881eb04896ea",
"main.dart.js": "d0700a18f3ed4381918f8bf50e69b0ed",
"manifest.json": "1d803aa0f8e0fa725372b9dc1a69c19c"};
// The application shell files that are downloaded before a service worker can
// start.
const CORE = ["main.dart.js",
"index.html",
"assets/AssetManifest.json",
"assets/FontManifest.json"];
// During install, the TEMP cache is populated with the application shell files.
self.addEventListener("install", (event) => {
self.skipWaiting();
return event.waitUntil(
caches.open(TEMP).then((cache) => {
return cache.addAll(
CORE.map((value) => new Request(value, {'cache': 'reload'})));
})
);
});
// During activate, the cache is populated with the temp files downloaded in
// install. If this service worker is upgrading from one with a saved
// MANIFEST, then use this to retain unchanged resource files.
self.addEventListener("activate", function(event) {
return event.waitUntil(async function() {
try {
var contentCache = await caches.open(CACHE_NAME);
var tempCache = await caches.open(TEMP);
var manifestCache = await caches.open(MANIFEST);
var manifest = await manifestCache.match('manifest');
// When there is no prior manifest, clear the entire cache.
if (!manifest) {
await caches.delete(CACHE_NAME);
contentCache = await caches.open(CACHE_NAME);
for (var request of await tempCache.keys()) {
var response = await tempCache.match(request);
await contentCache.put(request, response);
}
await caches.delete(TEMP);
// Save the manifest to make future upgrades efficient.
await manifestCache.put('manifest', new Response(JSON.stringify(RESOURCES)));
// Claim client to enable caching on first launch
self.clients.claim();
return;
}
var oldManifest = await manifest.json();
var origin = self.location.origin;
for (var request of await contentCache.keys()) {
var key = request.url.substring(origin.length + 1);
if (key == "") {
key = "/";
}
// If a resource from the old manifest is not in the new cache, or if
// the MD5 sum has changed, delete it. Otherwise the resource is left
// in the cache and can be reused by the new service worker.
if (!RESOURCES[key] || RESOURCES[key] != oldManifest[key]) {
await contentCache.delete(request);
}
}
// Populate the cache with the app shell TEMP files, potentially overwriting
// cache files preserved above.
for (var request of await tempCache.keys()) {
var response = await tempCache.match(request);
await contentCache.put(request, response);
}
await caches.delete(TEMP);
// Save the manifest to make future upgrades efficient.
await manifestCache.put('manifest', new Response(JSON.stringify(RESOURCES)));
// Claim client to enable caching on first launch
self.clients.claim();
return;
} catch (err) {
// On an unhandled exception the state of the cache cannot be guaranteed.
console.error('Failed to upgrade service worker: ' + err);
await caches.delete(CACHE_NAME);
await caches.delete(TEMP);
await caches.delete(MANIFEST);
}
}());
});
// The fetch handler redirects requests for RESOURCE files to the service
// worker cache.
self.addEventListener("fetch", (event) => {
if (event.request.method !== 'GET') {
return;
}
var origin = self.location.origin;
var key = event.request.url.substring(origin.length + 1);
// Redirect URLs to the index.html
if (key.indexOf('?v=') != -1) {
key = key.split('?v=')[0];
}
if (event.request.url == origin || event.request.url.startsWith(origin + '/#') || key == '') {
key = '/';
}
// If the URL is not the RESOURCE list then return to signal that the
// browser should take over.
if (!RESOURCES[key]) {
return;
}
// If the URL is the index.html, perform an online-first request.
if (key == '/') {
return onlineFirst(event);
}
event.respondWith(caches.open(CACHE_NAME)
.then((cache) => {
return cache.match(event.request).then((response) => {
// Either respond with the cached resource, or perform a fetch and
// lazily populate the cache only if the resource was successfully fetched.
return response || fetch(event.request).then((response) => {
if (response && Boolean(response.ok)) {
cache.put(event.request, response.clone());
}
return response;
});
})
})
);
});
self.addEventListener('message', (event) => {
// SkipWaiting can be used to immediately activate a waiting service worker.
// This will also require a page refresh triggered by the main worker.
if (event.data === 'skipWaiting') {
self.skipWaiting();
return;
}
if (event.data === 'downloadOffline') {
downloadOffline();
return;
}
});
// Download offline will check the RESOURCES for all files not in the cache
// and populate them.
async function downloadOffline() {
var resources = [];
var contentCache = await caches.open(CACHE_NAME);
var currentContent = {};
for (var request of await contentCache.keys()) {
var key = request.url.substring(origin.length + 1);
if (key == "") {
key = "/";
}
currentContent[key] = true;
}
for (var resourceKey of Object.keys(RESOURCES)) {
if (!currentContent[resourceKey]) {
resources.push(resourceKey);
}
}
return contentCache.addAll(resources);
}
// Attempt to download the resource online before falling back to
// the offline cache.
function onlineFirst(event) {
return event.respondWith(
fetch(event.request).then((response) => {
return caches.open(CACHE_NAME).then((cache) => {
cache.put(event.request, response.clone());
return response;
});
}).catch((error) => {
return caches.open(CACHE_NAME).then((cache) => {
return cache.match(event.request).then((response) => {
if (response != null) {
return response;
}
throw error;
});
});
})
);
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

@ -0,0 +1,61 @@
<!DOCTYPE html>
<html>
<head>
<!--
If you are serving your web app in a path other than the root, change the
href value below to reflect the base path you are serving from.
The path provided below has to start and end with a slash "/" in order for
it to work correctly.
For more details:
* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base
This is a placeholder for base href that will be replaced by the value of
the `--base-href` argument provided to `flutter build`.
-->
<base href="/samples/web/next_gen_ui_demo/">
<meta charset="UTF-8">
<meta content="IE=Edge" http-equiv="X-UA-Compatible">
<meta name="description" content="A new Flutter project.">
<!-- iOS meta tags & icons -->
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="apple-mobile-web-app-title" content="next_gen_ui_demo">
<link rel="apple-touch-icon" href="icons/Icon-192.png">
<!-- Favicon -->
<link rel="icon" type="image/png" href="favicon.png"/>
<title>next_gen_ui_demo</title>
<link rel="manifest" href="manifest.json">
<script>
// The value below is injected by flutter build, do not touch.
var serviceWorkerVersion = "3027562144";
</script>
<!-- This script adds the flutter initialization JS code -->
<script src="flutter.js" defer></script>
</head>
<body>
<script>
window.addEventListener('load', function (ev) {
// Download main.dart.js
_flutter.loader.loadEntrypoint({
serviceWorker: {
serviceWorkerVersion: serviceWorkerVersion,
},
onEntrypointLoaded: function (engineInitializer) {
engineInitializer.initializeEngine({
renderer: 'canvaskit'
}).then(function (appRunner) {
appRunner.runApp();
});
}
});
});
</script>
</body>
</html>

File diff suppressed because one or more lines are too long

@ -0,0 +1,35 @@
{
"name": "next_gen_ui_demo",
"short_name": "next_gen_ui_demo",
"start_url": ".",
"display": "standalone",
"background_color": "#0175C2",
"theme_color": "#0175C2",
"description": "A new Flutter project.",
"orientation": "portrait-primary",
"prefer_related_applications": false,
"icons": [
{
"src": "icons/Icon-192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "icons/Icon-512.png",
"sizes": "512x512",
"type": "image/png"
},
{
"src": "icons/Icon-maskable-192.png",
"sizes": "192x192",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "icons/Icon-maskable-512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
}
]
}

@ -0,0 +1 @@
{"app_name":"next_gen_ui_demo","version":"0.1.0","package_name":"next_gen_ui_demo"}

@ -1 +1 @@
95c3e2b9852183996d6553a754760307
d984d57b1015afdbafb53ca23e44106e

@ -20,17 +20,17 @@ const RESOURCES = {"flutter.js": "6fef97aeca90b426343ba6c5c9dc5d4a",
"assets/NOTICES": "9e64d4b2123cdce88b3e9189dfbd7386",
"assets/packages/cupertino_icons/assets/CupertinoIcons.ttf": "57d849d738900cfd590e9adc7e208250",
"assets/FontManifest.json": "dc3d03800ccca4601324923c0b1d6d57",
"assets/AssetManifest.bin": "07421f69c1f59bbb0cb7cc2b5684bc0a",
"assets/AssetManifest.json": "aa929e7225d630c8eda7dc6358d13844",
"index.html": "c86f05d9d075c5f852341533243d1910",
"/": "c86f05d9d075c5f852341533243d1910",
"assets/AssetManifest.smcbin": "07421f69c1f59bbb0cb7cc2b5684bc0a",
"index.html": "3430a4d080a7551a7bce3d1e5e372429",
"/": "3430a4d080a7551a7bce3d1e5e372429",
"favicon.png": "5dcef449791fa27946b3d35ad8803796",
"version.json": "d8b1411a8d58c36c6abe2f9380d1c88d",
"icons/Icon-maskable-192.png": "c457ef57daa1d16f64b27b786ec2ea3c",
"icons/Icon-192.png": "ac9a721a12bbc803b44f645561ecb1e1",
"icons/Icon-512.png": "96e752610906ba2a93c65f8abe1645f1",
"icons/Icon-maskable-512.png": "301a7604d45b3e739efc881eb04896ea",
"main.dart.js": "2d1cd3c775f17abc60a1b9558ed7ad3e",
"main.dart.js": "e5c9b637d76f0a23992fe6969267d681",
"manifest.json": "470be0990b1a9c5a9011c08ba3d78e79"};
// The application shell files that are downloaded before a service worker can
// start.

@ -37,7 +37,7 @@
<script>
// The value below is injected by flutter build, do not touch.
var serviceWorkerVersion = "3578755808";
var serviceWorkerVersion = "3865449036";
</script>
<!-- This script adds the flutter initialization JS code -->
<script src="flutter.js" defer></script>

@ -27487,7 +27487,7 @@ $1(a){var s=$.dq
s=(s==null?$.dq=A.iF(self.window.flutterConfiguration):s).b
if(s==null)s=null
else{s=s.canvasKitBaseUrl
if(s==null)s=null}return(s==null?"https://www.gstatic.com/flutter-canvaskit/d44b5a94c976fbb65815374f61ab5392a220b084/":s)+a},
if(s==null)s=null}return(s==null?"https://www.gstatic.com/flutter-canvaskit/b4fb11214dd2dda6ce012dd98ea498e9e8b91262/":s)+a},
$S:83}
A.asH.prototype={
$1(a){this.a.remove()
@ -56596,7 +56596,7 @@ anE(a){var s,r={},q=a.a
if(q==null)q=$.a_c()
r.a=r.b=null
s=t.P
A.aLu(q.an3("AssetManifest.bin",A.aSZ(),t.jo).c_(new A.a_L(r,this,a,q),s),new A.a_M(r),s,t.K)
A.aLu(q.an3("AssetManifest.smcbin",A.aSZ(),t.jo).c_(new A.a_L(r,this,a,q),s),new A.a_M(r),s,t.K)
s=r.a
if(s!=null)return s
s=new A.aC($.ao,t.Lv)

@ -1 +1 @@
9563d0eff0708de363c4381398f5e872
d2d6162935309dce9654cc799c96b8ad

@ -16,17 +16,17 @@ const RESOURCES = {"flutter.js": "6fef97aeca90b426343ba6c5c9dc5d4a",
"assets/fonts/Corben/Corben-Bold.ttf": "8f9921f9c52d3c25fd354d6e01f7b024",
"assets/NOTICES": "1c70c255a845aa022e101104178eb414",
"assets/FontManifest.json": "11713463a3278663f446ba3377b96009",
"assets/AssetManifest.bin": "f84af7852255b5a5e704b6c67958ab7f",
"assets/AssetManifest.json": "3a1a25fc13ec0260a7852156dbee4d3d",
"index.html": "f3c628c5e2bcbbd183f3824589819b91",
"/": "f3c628c5e2bcbbd183f3824589819b91",
"assets/AssetManifest.smcbin": "f84af7852255b5a5e704b6c67958ab7f",
"index.html": "2d14797a210f50dd56957e88c52ab366",
"/": "2d14797a210f50dd56957e88c52ab366",
"favicon.png": "5dcef449791fa27946b3d35ad8803796",
"version.json": "c877dd821e537c427c816dfd698efafd",
"icons/Icon-maskable-192.png": "c457ef57daa1d16f64b27b786ec2ea3c",
"icons/Icon-192.png": "ac9a721a12bbc803b44f645561ecb1e1",
"icons/Icon-512.png": "96e752610906ba2a93c65f8abe1645f1",
"icons/Icon-maskable-512.png": "301a7604d45b3e739efc881eb04896ea",
"main.dart.js": "4181bc89369868df3532ecc9f8039557",
"main.dart.js": "c949f7d0c0dfc114b09bf2e615584571",
"manifest.json": "8cd9b0527efb8828cd336f4a2bdd731e"};
// The application shell files that are downloaded before a service worker can
// start.

@ -34,7 +34,7 @@
<script>
// The value below is injected by flutter build, do not touch.
var serviceWorkerVersion = "304084260";
var serviceWorkerVersion = "2231169304";
</script>
<!-- This script adds the flutter initialization JS code -->
<script src="flutter.js" defer></script>

@ -25312,7 +25312,7 @@ $1(a){var s=$.cW
s=(s==null?$.cW=A.hF(self.window.flutterConfiguration):s).b
if(s==null)s=null
else{s=s.canvasKitBaseUrl
if(s==null)s=null}return(s==null?"https://www.gstatic.com/flutter-canvaskit/d44b5a94c976fbb65815374f61ab5392a220b084/":s)+a},
if(s==null)s=null}return(s==null?"https://www.gstatic.com/flutter-canvaskit/b4fb11214dd2dda6ce012dd98ea498e9e8b91262/":s)+a},
$S:87}
A.agU.prototype={
$1(a){this.a.remove()

@ -1 +1 @@
9563d0eff0708de363c4381398f5e872
d2d6162935309dce9654cc799c96b8ad

@ -16,17 +16,17 @@ const RESOURCES = {"flutter.js": "6fef97aeca90b426343ba6c5c9dc5d4a",
"assets/NOTICES": "65927a9256022709295bd07d61a17fc5",
"assets/packages/cupertino_icons/assets/CupertinoIcons.ttf": "57d849d738900cfd590e9adc7e208250",
"assets/FontManifest.json": "dc3d03800ccca4601324923c0b1d6d57",
"assets/AssetManifest.bin": "a3d922a0b0bb96200631d1d9f758ce7d",
"assets/AssetManifest.json": "2efbb41d7877d10aac9d091f58ccd7b9",
"index.html": "a994896b885850da59e76ea27e89f094",
"/": "a994896b885850da59e76ea27e89f094",
"assets/AssetManifest.smcbin": "a3d922a0b0bb96200631d1d9f758ce7d",
"index.html": "88987c01f40b61bf508b5b16a8fb5304",
"/": "88987c01f40b61bf508b5b16a8fb5304",
"favicon.png": "5dcef449791fa27946b3d35ad8803796",
"version.json": "5f28b101a23cda222084598333ffdc2e",
"icons/Icon-maskable-192.png": "c457ef57daa1d16f64b27b786ec2ea3c",
"icons/Icon-192.png": "ac9a721a12bbc803b44f645561ecb1e1",
"icons/Icon-512.png": "96e752610906ba2a93c65f8abe1645f1",
"icons/Icon-maskable-512.png": "301a7604d45b3e739efc881eb04896ea",
"main.dart.js": "0c3de117c9a1c1e000a91208866c7373",
"main.dart.js": "00ead4be5b82aa7fe476030245001f3b",
"manifest.json": "fcc4cffd0f45ba41f31bdd5e05ca1ded"};
// The application shell files that are downloaded before a service worker can
// start.

@ -34,7 +34,7 @@
<script>
// The value below is injected by flutter build, do not touch.
var serviceWorkerVersion = "2466173879";
var serviceWorkerVersion = "2705268711";
</script>
<!-- This script adds the flutter initialization JS code -->
<script src="flutter.js" defer></script>

@ -22151,7 +22151,7 @@ $1(a){var s=$.cA
s=(s==null?$.cA=A.fC(self.window.flutterConfiguration):s).b
if(s==null)s=null
else{s=s.canvasKitBaseUrl
if(s==null)s=null}return(s==null?"https://www.gstatic.com/flutter-canvaskit/d44b5a94c976fbb65815374f61ab5392a220b084/":s)+a},
if(s==null)s=null}return(s==null?"https://www.gstatic.com/flutter-canvaskit/b4fb11214dd2dda6ce012dd98ea498e9e8b91262/":s)+a},
$S:96}
A.a7Q.prototype={
$1(a){this.a.remove()

@ -1 +1 @@
95c3e2b9852183996d6553a754760307
d984d57b1015afdbafb53ca23e44106e

@ -17,14 +17,14 @@ const RESOURCES = {"flutter.js": "6fef97aeca90b426343ba6c5c9dc5d4a",
"assets/NOTICES": "cbe01af447a30399b29eb4795a9c1187",
"assets/packages/cupertino_icons/assets/CupertinoIcons.ttf": "57d849d738900cfd590e9adc7e208250",
"assets/FontManifest.json": "dc3d03800ccca4601324923c0b1d6d57",
"assets/AssetManifest.bin": "a3d922a0b0bb96200631d1d9f758ce7d",
"assets/AssetManifest.json": "2efbb41d7877d10aac9d091f58ccd7b9",
"assets/AssetManifest.smcbin": "a3d922a0b0bb96200631d1d9f758ce7d",
"index.html": "18aaf2e497fd84025c8e0d56b518d072",
"/": "18aaf2e497fd84025c8e0d56b518d072",
"version.json": "ec6a4d1e9d6a65953ce1a6b4ea1041ee",
"icons/Icon-192.png": "ac9a721a12bbc803b44f645561ecb1e1",
"icons/Icon-512.png": "96e752610906ba2a93c65f8abe1645f1",
"main.dart.js": "91f6aec329d6e248f7fd35fd9c286f1f",
"main.dart.js": "435c6fb52fe8ccbd113b943bb0a2cd72",
"manifest.json": "f4c726512ced772dee601da2f29e868f"};
// The application shell files that are downloaded before a service worker can
// start.

@ -27076,7 +27076,7 @@ $1(a){var s=$.dn
s=(s==null?$.dn=A.ii(self.window.flutterConfiguration):s).b
if(s==null)s=null
else{s=s.canvasKitBaseUrl
if(s==null)s=null}return(s==null?"https://www.gstatic.com/flutter-canvaskit/d44b5a94c976fbb65815374f61ab5392a220b084/":s)+a},
if(s==null)s=null}return(s==null?"https://www.gstatic.com/flutter-canvaskit/b4fb11214dd2dda6ce012dd98ea498e9e8b91262/":s)+a},
$S:87}
A.aqW.prototype={
$1(a){this.a.remove()

Loading…
Cancel
Save